Hes*_*sey 3 java finally try-catch
码:
public String get() {
try {
//doSomething
return "Hello";
}
finally {
System.out.print("Finally");
}
Run Code Online (Sandbox Code Playgroud)
这段代码是如何执行的?
Jon*_*eet 17
因为这是一个finally块的整个点- 它会执行,但是你会离开try块,除非VM本身突然关闭.
通常,finally块用于清理资源 - 您不希望因为在try块中返回而使文件句柄保持打开状态,是吗?现在你可以在返回语句之前放置清理代码 - 但是如果代码抛出异常则不会清除它.使用finally,清理代码执行但是你离开块,这通常是你想要的.
有关更多详细信息,请参阅JLS第14.20.2节 - 并注意所有路径如何涉及finally块执行.
| 归档时间: |
|
| 查看次数: |
4005 次 |
| 最近记录: |