尝试,捕捉,最后执行

时间:2012-08-22 14:59:46

标签: java try-catch try-finally

  

可能重复:
  throws Exception in finally blocks

  • 只有在try块中抛出异常时才会执行catch块。

  • 如果抛出异常,则始终在try(-catch)块之后执行finally块。

我的问题是 IF 我在finally块中遇到的异常比如何处理它?????

2 个答案:

答案 0 :(得分:7)

这是Java语言规范中一个众所周知的问题/问题,因为如果在finally子句中抛出异常(不在嵌套的try-catch中处理它),原始异常就会丢失。您需要嵌套一个新的try-catch来捕获新的异常,然后在那里进行处理。

答案 1 :(得分:3)

你必须在finally块

中处理异常

finally{
    try
    {
       ///
    }
    catch(Exception e)
    {
      ///  
    }
}