【发布时间】:2013-04-02 15:56:10
【问题描述】:
“finally”块总是在 try-catch 结束时执行,无论是否发生异常。 但也总是执行 try-catch 之外和之后的每一行代码。 那么,为什么要使用 finally 语句呢?
例子:
try {
//code...
} catch (Exception e) {
//code...
} finally {
System.out.println("This line is always printed");
}
System.out.println("Also this line is always printed !! So why to use 'finally'?? ");
【问题讨论】:
-
使用 catch (Throwable t) 而不是 catch (Exception e) 总是会执行最后一行。
-
在 catch 块中抛出新异常是一种常见的模式,最后让您在发出新异常之前清理 try 块中的内容。它非常方便。该符号还使代码更具语义。