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

发布时间 2023-08-01 20:51:18作者: 风筝上的猫

异常体系图示

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

运行时异常(非受检)

是程序未检测出来的异常,这种错误一般是由我们的逻辑错误所引起的
逻辑错误造成的异常仅运行期间才能被检测
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

自定义异常一定要抛出异常
0
 
0