java异常体系(错误和异常)
异常体系图示

Thorwable是整个错误和异常的父类
程序无法处理的 由JVM产生或抛出的叫做错误Error
异常Exception 包括 运行时异常和非运行时异常

运行时异常(非受检)
是程序未检测出来的异常,这种错误一般是由我们的逻辑错误所引起的
逻辑错误造成的异常仅运行期间才能被检测
ArithmeticException:算数异常
NullPorinterException:空指针异常
lndexOutOfBoundsException:数组越界
......
非运行时异常(受检)
从语法角度上必须解决的异常,如果不处理 那么不能被编译通过
非运行时异常与语法相关
ClassNotFoundException:类未找到异常
IOException:输入输出异常
SQLException:sql编译异常
......
异常解决方法(解决异常、抛出异常)
解决异常
抛出异常
非运行异常只能自己手写 try catch
try:尝试执行,如果执行失败那么就会执行catch当中的代码
try-catch:如果我们try代码快当中的代码执行失败,不会影响后边操作
catch中写什么?
----> 写我们当前所要抛出异常的类型,如果不知道代码抛出什么异常,直接写Exception
finally:try-catch代码块当中一定要执行的代码,一般用来做资源关闭
public static void main(String[] args) {
try {
int a=10/0;
}catch (Exception e){
e.fillInStackTrace();
}finally {
}
}
public static void main(String[] args) throws ClassNotFoundException {
run();
}
/**
* throws:向外抛出异常,让调用者去解决这个异常
* 调用者可以选择try-catch-finally去解决,或者直接抛出
* @throws ClassNotFoundException
*/
public static void run() throws ClassNotFoundException {
Class.forName("trees.Test");
}
自定义异常throw
自定义异常一定要抛出异常


【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~