三、Java异常面试题
1、Java中异常分为哪两种?
编译时异常
运行时异常
2、异常的处理机制有几种?
异常捕捉:try…catch…finally,异常抛出:throws。 public class Box { private T t; public void add(T t) { this.t = t; }public T get() { return t; } }
3、如何自定义一个异常
继承一个异常类,通常是RumtimeException或者Exception
4、try catch fifinally,try里有return,finally还执行么?
执行,并且finally的执行早于try里面的return
结论:
1、不管有木有出现异常,finally块中代码都会执行;
2、当try和catch中有return时,finally仍然会执行;
3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;
4、finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。
5、 Excption与Error包结构
6、Thow与thorws区别
7、Error与Exception区别?
8、error和exception有什么区别
9、final、finally、finalize 的区别?
10、Java 异常处理机制的理解?
11、说出最常见的5个RuntimeException?
12、throw 和 throws 的区别?
13、JAVA 中Exception和Error 面试问题
14、在Java异常处理的过程中,你遵循的那些最好的实践是什么?
15、throw 和 throws这两个关键字在java中有什么不同?
16、你曾经自定义实现过异常吗?怎么写的?
17、你遇到过 OutOfMemoryError 错误嘛?你是怎么搞定的?
18、Java中的异常处理机制的简单原理和应用。
19