finally代码块和异常注意事项_多异常的捕获处理
finally代码块
finally:有一些特定的代码无论异常是否发生,都需要执行。另外,因为异常会引发程序跳转,
导致有些语句执行不到。而finally就是解决这个问题,在finally代码块中存放的代码都是一定会被执行的.
注意:
1.finally不能单独使用,必须和try一起使用
2.finally一般用于资源释放(资源回收),无论程序是否出现异常,最后都要资源释放(IO)
异常注意事项_多异常的捕获处理
多个异常使用捕获又该如何处理呢
1、多个异常分别处理
2.多个异常一次捕获,多次处理
一个try多个catch注意事项:
catch里边定义的异常变量,如果有子父类关系,那么子类的异常变量必须写在上边,否则就会报错.
try { int[] arr = {1,2,3}; System.out.println(arr[3]); List<Integer> list = new ArrayList<>(); System.out.println(list.get(3)); } catch (ArrayIndexOutOfBoundsException e) { System.out.println(e); }catch (IndexOutOfBoundsException e){ System.out.println(e); }
3.多个异常一次捕获一次处理
try { int[] arr = {1,2,3}; System.out.println(arr[3]); List<Integer> list = new ArrayList<>(); System.out.println(list.get(3)); }catch (Exception e){ System.out.println(e); }