在下面写的代码中虽然我还没有抓到ArithmeticException
,但是自动处理异常并用finally
块,main()
方法的内容成功执行。而如果我从最后删除返回语句,并使演示为返回无效然后程序执行finally
块后抛出MainThread
Exception
..为什么这样呢?最后一块的执行
public class FinallyDemo {
int demo() {
try {
int a=5/0;
}
finally {
System.out.println("Finally Executed");
return 10;
}
}
public static void main(String s[]) {
int a=new FinallyDemo().demo();
System.out.println("Exception Handled");
}
}
'finally'块只会吞噬你的异常。 –
哇,*方式*太多空白... – chrylis
发现异常没有缓存 –