【发布时间】:2021-01-28 14:07:01
【问题描述】:
我想了解 try 块中抛出的异常,当 finally 块中再次发生异常时会发生什么?
运行下面的代码后,我只看到 finally 块中抛出异常。我想了解 try 块中抛出的异常会发生什么?
try{
int i = 10/0;
}
finally {
System.out.println("one");
int[] a = new int[2];
a[4] = 0;
System.out.println("two");
}
【问题讨论】:
-
终于不应该有任何容易发生异常的代码。如果出现任何问题,它需要finalize 代码块。 IE。关闭文件、连接等。如果
finally有错误,则该错误将被抛出。 -
此外,您在 try 块中看不到异常,但它仍然发生。它根本没有显示给您,因为您应该在
finally中自己处理异常