《疯狂的JAVA讲义》笔记-第10章异常
try...catch...finally块- try 块后面必须出现 catch 块或者 finally 块或者同时出现
- 在 try 块中遇到
return并不会马上返回,而是去执行finally块中的内容;因此如果finally块中有return语句,则会在finally中返回;如果没有,则返回try块执行return语句。因此在finally中使用return语句,会导致一些奇怪的bug try块中定义的变量 不可以在catch或者finally中使用,局部变量的生命周期为{}之间JAVA 7提供了catch多个异常的方法,如catch (NullPointerException | IndexOutOfBoundException ie){},在这种情况下,异常变量是隐式使用了final,是不可变的JAVA 7提供了自动关闭资源的try语句,但需要资源类实现Closeable接口,用法try( PrintStream ps = new PrintStream(new FileOutputStream("a.txt")); BufferReader br = new BufferReader(new fileReader("hhh.java")); ){ // 在这里使用资源 System.out.println(br.readLine()); }
checked与unchecked异常checked异常在编译前就需要被处理,即需要用try...catch块包围或者throw出去让调用者处理;unchecked异常可以不处理。- 不推荐使用
checked异常,因为会使得调用者与接口存在 异常耦合
这是《疯狂的JAVA讲义》第10章异常的笔记。介绍了try块后需搭配catch或finally块,try块中遇特定情况的执行逻辑,块中变量的使用范围,处理多个异常的方法,自动关闭资源语句的用法。还区分了checked和unchecked异常,不推荐使用checked异常。

583

被折叠的 条评论
为什么被折叠?



