今天学习了与Java异常处理相关的知识,汇总如下:
1.用try{}catch(){}finally{}的语法来处理异常,try里面还可以嵌套try和catch;
2.try{}后面可搭配多个catch来处理不同的异常,同时可通过catch(异常1|异常2|...){}来一次同时处理多种异常;
3.catch(){}括号里不仅可以来处理一些细致的异常类(运算出错/数组指针异常...)还可以在最后面加一个父类用来拖底解决异常;
4.在try和catch中如果有return语句则在执行return前会运行finally中的语句,如果是System.exit(0)则不会执行finally语句直接在exit的位置结束;
5.Java中异常类之间的关系图
6.Java中常见的异常类:
7.在继承关系中异常的关系:
子类可以抛出任何的运行异常不会对父类产生影响;
父类抛出检查型异常,子类可以不抛出异常也可以抛出和父类一样的异常,可以抛出比父类更小的异常,不可以抛出和父类同级但不同的检查型异常和比父类大的检查型异常;
8.抛出异常:语法:throws和throw
throws:用于修饰方法:将方法的异常抛给下一个调用方法的代码块,可以继续抛,但是最终一定要给它处理;
throw:常用于if(异常条件){
throw new 异常类();
}在抛出检查型异常时需要与throws配合并被try catch处理,在抛出运行时异常时可以不被处理;
9.可以自定义异常类(需要继承throwable下面的类,常继承的是Exception类);
10.报异常的三种方法:(1)System.out.println(错误类对象.getMessage());
(2) System.out.println(错误类对象.toString());
(3)错误类对象.printStackTrace();