retrun语句在try(){}catch(){}中的作用
来源:互联网 发布:sublime text 3运行js 编辑:程序博客网 时间:2024/05/22 12:19
我们先进行设定测试环境,我们需要测试return在try块,catch块,finally块以及放在最底层中的结果,首先,我们实现正常的函数,代码如下所示:
package sample;public class TryCatchFinally{//用于输出,定义函数专门用于输出 public static void sop(Object o) { System.out.println(o); } //定义函数用于表示出错信息 static public int div(int a,int b) { int res=0; try { res=a/b; } catch(ArithmeticException e) { sop("in catch"); } finally { sop("in Finally"); } return res; } //主函数 public static void main(String[] args) { sop("Main0:"+div(10,2)); }}
结果:Main0:5
开始测试,我们需要将main函数中的div(10,2)修改为有异常的语句,即将其修改为div(10,0)即可,如下所示程序:
package sample;public class TryCatchFinally{//用于输出,定义函数专门用于输出 public static void sop(Object o) { System.out.println(o); } //定义函数用于表示出错信息 static public int div(int a,int b) { int res=0; try { res=a/b; //return res } catch(ArithmeticException e) { //sop("in catch"); //return res; } finally { // sop("in Finally");// return res; } //return res; } //主函数 public static void main(String[] args) { sop("Main0:"+div(10,0)); }}
1.1 return 放在try块中
预测:出错,分支中也需要一个return
结果:
1.2放在catch语句块中
1.3放到Finally中
1.4放置到try(){}catch(){}finally{}语句块后面,
我们能够看到报出异常,编译没有报错,运行时报出异常,执行catch块,执行Finally块,输出最后返回结果0
2.1放置到try和catch2.2放置到try和finally
我们能够看到报出异常,编译没有报错,运行时报出异常,执行catch块,执行Finally块,输出最后返回结果0
2.3放置到try和最底层
2.4放置在catch和finally中
我们能够看到报出异常,编译没有报错,运行时报出异常,执行catch块,执行Finally块,输出最后返回结果0
2.5放置在catch和最底层
2.6 放置在finally和最底层
编译时提示出现错误,因为在finally中已经return res,就不能够继续执行后面的语句,所以会出现这样的提示
3.1放置到try,catch,finally中
3.2放置到try,catch ,最底层
3.3放置到catch,finally,最底层
3.4四处全部使用return
无法执行后面的操作
3.5测试返回值(无异常情况):
当我们在其中嵌入数值是,我们应该获得怎样的结果呢?首先我们进行修改程序,代码如下所示:
package sample;public class TryCatchFinally{//用于输出,定义函数专门用于输出 public static void sop(Object o) { System.out.println(o); } //定义函数用于表示出错信息 static public int div(int a,int b) { int m=19; try { m=m+10; return m; } catch(Exception e) { m=m+5; return m; } finally { m=m+100; return m; } } //主函数 public static void main(String[] args) { sop("Main0:"+div(10,0)); }}
结果如下所示:由返回的结果我们能够看到其和为100+19+10,既能够说明程序流程是try→finally-→return m;,没有从try中的return返回到主函数中。。。。因为try(){}catch(){}finally(){}是一个整体
3.6测试值(有异常情况)
package sample;public class TryCatchFinally2{//用于输出,定义函数专门用于输出 public static void sop(Object o) { System.out.println(o); } //定义函数用于表示出错信息 static public int div(int a,int b) { int res=0; int m=19; try { m=m+10; res=a/b; return m; } catch(ArithmeticException e) { m=m+5; return m; } finally { m=m+100; return m; } } //主函数 public static void main(String[] args) { sop("Main0:"+div(10,0)); }}
结果如下所示:由返回的结果我们能够看到其和为100+19+10+5,既能够说明程序流程是try→catch->finally-→return m;
以上就是测试结果
- retrun语句在try(){}catch(){}中的作用
- retrun 与try catch执行顺序
- C++中的try catch语句
- JavaScript中的try、catch语句
- JavaScript中的Try...Catch 语句
- JS中的try-catch语句
- return语句在try-catch-finally中的执行顺序
- return语句在try-catch-finally中的执行顺序
- return在try-catch-finally语句中的使用
- return语句在Java的Try Catch Finally中的行为
- Java中的try catch的作用
- Java中的try catch的作用
- try-catch-finally块中的退出语句
- return在try-catch-finally中的执行
- JAVA初窥:try、catch、finally语句块中的return语句
- JavaScript Try...Catch 语句
- JavaScript Try...Catch 语句
- try-catch语句
- Apache开启Rewrite模块
- 图的深度优先搜索和广度优先搜索算法、最小生成树两种算法 --C++实现
- C++ 将整数、浮点数转为字符串
- 初识python(二)
- Service相关的生命周期
- retrun语句在try(){}catch(){}中的作用
- java学习日记_3——方法重载
- [暑假集训] 2016.7~2016.8 总结
- 暑假集训 8.18 数据结构实验之图论六:村村通公路 (最小生成树)
- android 自定义进度条
- 3078. 【备战NOIP2012图论专项模拟试题】无线通讯网 (Standard IO)
- nginx支持websocket
- Java并发编程:深入剖析ThreadLocal
- Subset Sums_usaco2.2.2_dp