站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题总是提示:finally块未正常完成,何解?

总是提示:finally块未正常完成,何解?

摘要: 总是提示:finally块未正常完成,何解?


包中的一段代码如下,eclipse+myeclipse环境下,总是提示:finally块未正常完成,何解?

public int getints(int para){
try{
return 123;
}catch(Exception e){
e.printStackTrace();
}finally{
return 0;
}
}


报warning原因是,不应该在finally中return

你可以测试一下,无论出错与否,最后getints返回的永远是0

加入碰到类似代码,比较常用的做法是类似

try{
return 123;
}catch(Exception e){
e.printStackTrace();
}finally{

}
return 0;
}

如果在return 123之前出错,则进入catch和finally,并最终跳出try-catch-finally,返回0
如果try内没有错,则进入finally并返回123


这是eclipse3后的一个特点,就是认为在finally块中不应该存在return语句。

只是一个警告。


你可以在Window->Preferences->Java->Compiler->Errors/Warnings->
Potential programming problems中找到'finally' does not complete normally然后把它的警告级别改为Ignore就可以了。


原来这样啊,学习啊,楼上的怎么信誉只有5啊,强


学到了东西 HOHO!


那么在 finally 中存在 return 是否正确的呢?


正确但是不推荐,因为try{ }里面正常return的语句就无法执行了


mark


不应该有return


↑返回目录
前一篇: 密码输入问题
后一篇: tomcat安装好后局域网内怎么访问不起来