可能出现的面试题:
(5)finally的特点及面试题
A:特点
里面的代码永远会执行。除非前面退出jvm。c
B:面试题
a:请说说final,finally,finalize的区别?
b:finally里面的代码永远会执行吗?
c:假如在catch里面有ruturn,finally里面的代码还能被执行吗?
如果能,请问是在return前,还是在return后?
如果你能说在中间,就更好了。
(6)Exception和RuntimeException的区别?
A:Exception 编译时期异常,必须处理的。
如果在方法上,throws了该类型的异常,将来调用者必须处理。
如果在方法内部,throw了该类型的异常,必须在方法上throws该异常。
B:RuntimeException 运行时期异常,是不需要处理的。要改代码的。
如果在方法上,throws了该类型的异常,不需要处理。
如果在方法内部,throw了该类型的异常,方法上可以throws该异常,也可以不throws该异常。
(7)throw和throws的用法和区别?
A:throw
用法:用在方法内部,后面跟的是异常对象名称。
区别:用throw抛出了编译时期异常,方法上面必须用throws抛出。
用throw抛出了运行时期异常,方法上面可以不用throws抛出。
B:throws
用法:用在方法声明上,后面跟的是异常类名。
区别:用throws在方法上声明了异常,内部可以没有throw |
|