java 程序无论是否有异常都有返回值?代码怎么处理?

1.其他2.每个catch中和方法最后都有returneStringtrnCode="aaa";try{}catch(DocumentExceptione){e.prin... 1.其他
2.每个catch中和方法最后都有returne
String trnCode = "aaa";
try {
} catch (DocumentException e) {
e.printStackTrace();
return trnCode;
} catch (Exception e) {
e.printStackTrace();
return trnCode;
}finally{
//do something
}
return trnCode;
3.finally 中的返回值
String trnCode = "aaa";
try {
} catch (DocumentException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}finally{
return trnCode;
}
展开
 我来答
ridn_jache
2015-11-09 · TA获得超过271个赞
知道小有建树答主
回答量:430
采纳率:100%
帮助的人:107万
展开全部

直接上代码,如果异常返回默认空的值。

public String getName(){
    String reName = "";
    try{
        //业务处理。。。。
        reName="处理结果";
    }catch (Exception e) {
        //异常处理
        logger.error(e.getMessage(), e);
    }
    return reName;
}
hello_a_hao
2013-09-06
知道答主
回答量:27
采纳率:0%
帮助的人:8.5万
展开全部
如果你需要返回异常的返回值,在catch中添加return即可,如果你需要返回正常的业务处理结果,在try中返回即可,因为代码在执行完finally后,如果try中有return,流程会进入到try中进行return,同样catch也是一样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
十九个萨满
2013-09-06 · 超过32用户采纳过TA的回答
知道答主
回答量:99
采纳率:0%
帮助的人:77.4万
展开全部
finally里面的代码 是一定会被执行的,无论是否都有异常被catch住,如果你需要返回一个值得话可以放在finally里面
追问
因为 return在finally  要报警告,(有黄线看着很不舒服;在方法前上@SuppressWarnings("finally") 感觉也不是很好),都不建议 把returne 放在finally中,还有其他什么办法让该方法必须有返回值? 因为把return  放在方法最后,程序抛出异常,就没有返回值了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友799369c
2013-09-06 · TA获得超过562个赞
知道小有建树答主
回答量:514
采纳率:66%
帮助的人:160万
展开全部
没有看懂你想表达什么,finally里面的是必然被执行的,存在finally的情况下,如果finally里面有return,那么try catch里面的各种return应该是不会执行的,只会执行finally里面的return
追问
因为 return在finally  要报警告,(有黄线看着很不舒服;在方法前上@SuppressWarnings("finally") 感觉也不是很好),都不建议 把returne 放在finally中,还有其他什么办法让该方法必须有返回值? 因为把return  放在方法最后,程序抛出异常,就没有返回值了。
追答
把return放在最后是正确的做法,你说没有return是因为程序无法继续,而不是因为程序抛出异常
比如说:执行
String s = "a";
try {
int i = Integer.valueOf(s).intValue();
} catch (NumberFormatException e) {
e.printStackTrace();
} finally {
s = s + s;
}
return s;
这段代码,尽管会有异常抛出,但不影响return,所以程序会继续。
如果程序无法继续,那你应该根据你的实际情况,找到为什么程序无法执行下去,然后对它做出处理,使得程序能够正常继续执行return。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaoyao930626
2015-10-09 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:117
采纳率:0%
帮助的人:64.7万
展开全部
try{}catch(){}finnaly{}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式