多个异常使用捕获又该如何处理呢?
1.多个异常分别处理。
多个异常一次捕获,多次处理。
多个异常一次捕获一次处理。
图:
//多个异常一次捕获异常
多个异常分别处理。
//运行时异常抛出可以不处理,即不捕获也不声明抛出 //默认给虚拟机处理,终止程序,什么时候不抛出时异常了,在来继续执行程序
异常注意事项_finally有return语句
运行时异常被抛出可以不处理。即不捕获也不声明抛出。
如果finally有return语句,永远返回finally中的结果,避免该情况.
如果父类抛出了多个异常,子类覆盖父类方法时,只能抛出相同的异常或者是他的子集。
父类方法没有抛出异常,子类覆盖父类该方法时也不可抛出异常。此时子类产生该异常,只能捕获处理,不能声明抛出
在try/catch后可以追加finally代码块,其中的代码一定会被执行,通常用于资源回收。
举例1:
举例2:
public class ReturnStatementInFinallyBlockTest { public static void main(String[] args) { System.out.println(getReturnValue()); } public static int getReturnValue() { try { System.out.print("A"); return 1; } finally { System.out.print("C"); return 2; } } }