首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多个返回:哪一个设置了最终的返回值?

多个返回:哪一个设置了最终的返回值?
EN

Stack Overflow用户
提问于 2010-02-22 17:35:51
回答 4查看 7.3K关注 0票数 51

给定以下代码:

代码语言:javascript
运行
复制
String test() {
    try {
        return "1";
    } finally {
        return "2";
    }
}

语言规范是否定义了调用test()的返回值?换句话说:它在每个JVM中都是一样的吗?

在Sun JVM中,返回值是2,但我希望确保这不是依赖于VM的。

EN

Stack Overflow用户

发布于 2015-03-26 22:25:34

你可以参考下面的链接。我希望它能提供所有细节:

http://www.programmerinterview.com/index.php/java-questions/will-finally-run-after-return/

它说,最终块将始终执行,即使try或catch块有返回语句。如果finally块也有return语句,那么这将覆盖try或catch块中的return语句,在这种情况下,try/catch中抛出的任何异常都将被丢弃(错误的方法)。

票数 1
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2309964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档