如果 catch 和 final-block 都抛出异常,会发生什么情况?

2022-09-01 06:55:27

如果 catch 和 final-block 都抛出异常,会发生什么情况?


答案 1

当块引发异常时,它将有效地隐藏从块中引发的异常,并且将是最终引发的异常。因此,重要的是在捕获时记录异常,或者确保 finally 块本身不会引发异常,否则您可能会被抛出被扼杀且从未见过的异常。finallycatch


答案 2

当 catch 引发异常时,最后将运行块,然后退出并出现异常。如果最终的块引发异常,则该块将退出并显示异常。