考虑到这段代码,我能绝对确定块总是执行吗?finally
something()
try {
something();
return success;
}
catch (Exception e) {
return failure;
}
finally {
System.out.println("I don't know if this will get printed out");
}
网友回答:
示例代码:
public static void main(String[] args) {
System.out.println(Test.test());
}
public static int test() {
try {
return 0;
}
finally {
System.out.println("something is printed");
}
}
输出:
something is printed.
0
网友回答:
是的,将在执行 或 代码块后调用。finally
try
catch
唯一不会调用的时间是:finally
System.exit()
Runtime.getRuntime().halt(exitStatus)
try
catch
kill -9 <pid>
finally
finally
网友回答:
此外,尽管这是不好的做法,但如果 finally 块中有返回语句,它将胜过常规块的任何其他返回。也就是说,以下块将返回 false:
try { return true; } finally { return false; }
从 finally 块中抛出异常也是如此。
模板简介:该模板名称为【finally 块总是在 Java 中执行吗?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【Java】栏目查找您需要的精美模板。