黑马程序员技术交流社区
标题:
基础题:return与finally执行的顺
[打印本页]
作者:
郑飞
时间:
2014-8-27 08:22
标题:
基础题:return与finally执行的顺
刚开始做的时候感觉 就随便打印一下就能判断
后来才发现 return语句的执行不好看到结果
下面是我写的 用捕获异常 通过catch语句段来提示return的执行时间点
有问题请指出 谢谢
============================
/*
需求:用代码证明,在try中写了return,后面又写了finally,是先执行return还是先执行fianlly?
思路:1;定义带返回值为字符串的方法,在方法中使用try catch finally语句
2:在这3个语句段里写入控制台输出语句 便于判断进入语句段的顺序
3:让try中的return 的同时出现异常 并捕获打印到控制台 便于判断return执行的时间点
4;有了第3步 就可以方便判断return与finally执行的顺序了
*/
class Test7
{
public static void main(String[] args)
{
System.out.println(test());//
}
public static String test()
{
System.out.println("程序运行!");
try
{
System.out.println("开始执行try中的语句!");//开始运行try代码段
try
{
return 3/0+"";
}
catch (Exception e)
{
System.out.println("由于return中有意让3除0,此处捕获异常成功,说明return已执行!");
}
}
catch (ArithmeticException e)
{
System.out.println(e.toString());
}
finally
{
System.out.println("执行finally中的语句!");//打印语句 说明执行了finally语句
}
return "程序结束!"; //程序完整需要 就写了个返回值
}
}
作者:
lfs454766767
时间:
2014-8-27 08:32
外层的try{}catch{}是不是没用、、、
作者:
戏言丶
时间:
2014-8-27 09:42
先学习学习
作者:
郑飞
时间:
2014-8-27 10:14
lfs454766767 发表于 2014-8-27 08:32
外层的try{}catch{}是不是没用、、、
判断的就是外层的try中的return和finally运行顺序
catch是没用到 外层没异常
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2