try catch return语句情况分析
try catch
try catch语法是一种对应于异常处理的语句,其中try语句内用于编写有异常存在可能的语句,而catch语句内用于编写捕获到异常的类型以及对异常对象的处理方法,本文主要以java语言为示例来演示try catch语句关于return情况的分析。
示例代码如下,后续的测试都会基于当前代码改动测试
public class DemoController {
public static void main(String[] args) {
String test = test();
System.out.println(test);
}
static String test() {
String res = null;
try {
//int i = 1/0;
res = "one";
}catch (Exception e) {
e.printStackTrace();
res = "two";
}finally {
res = "three";
}
return res;
}
}
无finally语句
下面开始讨论对应的情况:
1.无异常,try语句正常执行,结果返回try语句中的赋值数据,执行结果如下
2.有异常,执行catch中的赋值语句,打印异常信息,返回catch中赋值数据,执行结果如下
有finally语句
1.无异常,因为finally中有赋值,所以返回finally中赋值数据,执行结果如下
2.有异常,打印错误信息,同时因为finally中有赋值,所以返回finally中赋值数据,执行结果如下
写在最后
由于try catch finally结构中finally中代码一定会执行,因此建议不要在finally中放置返回数据的赋值语句,如果finally中有当前方法返回的最后数据赋值语句的话,那么即使try语句中业务代码执行成功,返回的赋值信息仍然不是业务需要的数据。
标签:语句,return,res,try,finally,catch,赋值 From: https://blog.csdn.net/csdn565973850/article/details/139739149