Java常见笔试面试题目解析(三):Java中异常执行流程
2013-04-25 09:40
585 查看
public class ExceptionExecuteTest { public static void main(String[] args){ try { String s = null; return; } catch (RuntimeException e) { System.out.println("exception"); }finally{ System.out.println("finally"); } } }
问题1:上面的程序能否编译通过?如果能,打印结果是什么?如果不能,请说明理由。
解答:能编译通过。打印结果是finally。
问题2:上面的程序将return;注释掉,添加语句System.exit(0);语句,能否编译通过?如果能,结果是什么?如果不能,请说明理由。
解答:能编译通过。结果是什么都不输出。分析:System.exit(0);表示程序正常退出,让虚拟机终止当前的程序。当try中有 System.exit(0);方法被调用的时候,它就不会去执行finally里面的内容,这是一个特例。所以这个程序不输出任何结果。
总结:异常的执行流程:在try语句中有返回return;如果后面有finally的话,那么它会在执行return之前,程序跳到finally里面去执行,把finally里面的代码执行完之后在去执行return;方法返回。
相关文章推荐
- Java常见笔试面试题目解析(十):Java中检查的异常与未检查的异常
- Java常见笔试面试题目解析(二):final与static final变量(引用类型)的引用不变
- Java常见笔试面试题目解析(一):final与static final变量(原生类型)的初始化方式
- 常见笔试面试题目与解析(1)
- 视频教程:Java常见面试题目深度解析!
- Java常见笔试面试题目深度剖析系列之:Java方法参数传递详解
- Java常见笔试面试题目深度剖析系列之:Java方法参数传递详解
- Java常见笔试、面试题目深度剖析
- java异常面试常见题目
- 视频教程:Java常见面试题目深度解析!
- 视频教程:Java常见面试题目深度解析!
- Java笔试、面试中常见的题目记录
- 作各种猥琐的Java笔试/面试题目
- msyql执行效率的问题以及常见基础面试题目
- JAVA笔试面试题目集锦
- java初中级工程师面试笔试题目及心得(全部实战经验)
- java 阿里面试常见30道题目汇总
- Android开发面试经——3.常见Java基础笔试题
- Android开发面试经——4.常见Java基础笔试题
- 100道经典Hadoop常见面试/笔试题及答案解析