2014-02-13 57 views

回答

5

最后的块异常将掩盖原始异常。

当一个新的抛出异常在catch块或最后块,将传播出该块的,那么当前异常将被中止(和遗忘)作为新的例外是向外传播。

检查herehere更多细节

+0

掩码将比覆盖更好。 –

+0

@ JunedAhsan:是的,已更正。 –

+0

http://www.youtube.com/durgaeducation ,在这里您可以找到异常处理中的所有案例 –

0

按照该JLS 14.20.2。执行try-finally和try-catch-finally

如果catch块由于原因R突然完成,则执行finally块。然后有一个选择:

如果如果finally块的原因小号突然完成了finally块正常完成,则try语句的原因突然完成R.

,然后try语句突然就完成了原因S(和原因R被丢弃)。

finally块可能会抛出异常,如果是,通过在try或catch块抛出的任何异常都将丢失。

编号:http://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html#jls-14.20.2

相关问题