Throwable -> Exception 1.已检查异常 Exception(已经预料到的) 必须要处理的 FileNotFoundException extends IOException ClassNotFoundException new fileInputStream("a.txt") 2.未检查异常 RuntimeException 程序失误,程序员马虎 也叫运行时异常RunTimeException ClassCastException ConcurrentModificationException IndexOutOfBoundsException NullPointerException 3.处理异常 自行处理 :try - catch 1:try-catch 必须同时存在 2:一个try可以有多个catch 3:catch的顺序:多个异常之间没有关系,顺序随意 多个异常之间存在父子关系,必须子类异常在前 4:e.printStackTrace(); 5:出现异常的位置后续try的部分的代码执行不到,但是不影响catch以及后续代码执行! (try-catch的意义:使得程序不会中断) 6:finally可以选择性添加,指的是无论异常是否发生,都会执行的代码块 一般finally部分的代码块用来关闭(释放)资源,关闭资源都会出现异常 7:catch可以抓取任意的进行时异常,但不可以随意抓取已检查异常 try-catch-finally 问题:如果在try中遇到return是否执行finally 答:会执行finally,finally的代码块不影响return值 向上级抛出 :throw(方法申明:throws) throw:接异常对象,取代return throw new xxException(); 需要在方法申明上添加 throws xxException 这个方法的调用者依然需要处理这个异常(try-catch // throws) 最终如果异常到主方法中抛出,JVM只能做中断处理 处理异常的原则: 1:能自己处理的自己处理 2:不能处理了再向上抛出 4.自定义异常
(复习资料)异常
最新推荐文章于 2024-02-21 09:40:35 发布