Java面试总结——异常处理

1.finally块中的代码是什么时候被执行?

finally块的作用就是为保证无论出现什么情况,finally块里的代码一定会被执行,finally执行也在return之前。如果try-finally,catch-finally中都有return,那么finally中的return将会覆盖别处的return语句。对于基本数据类型,finally改变return的值对返回值没有什么任何影响,而对引用类型由影响。

2.异常处理的原理是什么

异常是指程序运行时(非编译时)所发生的非正常情况或错误,JVM就会将出现的错位表示为一个异常并抛出。这个异常可以在catch程序块中进行捕获,然后进行处理。
Throwable(父类)-------Error
|------------Exception

3.运行时异常和普通异常的区别
检查异常 运行时异常
编译阶段 运行阶段
强制 非强制
不会导致程序出错,进行处理后可以继续执行后续操作 线程中止
IO异常 NullPointerException
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章