本帖最后由 郑飞 于 2014-9-18 05:03 编辑
- /*
- 需求:用代码证明,在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 "程序结束!"; //程序完整需要 就写了个返回值
- }
- }
复制代码 程序运行!开始执行try中的语句!
由于return中有意让3除0,此处捕获异常成功,说明return已经执行!
执行finally中的语句!
程序结束!
|