异常
面试题
Java中的两种异常类型是什么?他们有什么区别?
- Java中有两种异常:受检查的(checked)异常和不受检查的(unchecked)异常。
- 不受检查的异常不需要在方法或者是构造函数上声明,就算方法或者是构造函数的执行可能会抛出这样的异常,并且不受检查的异常可以传播到方法或者是构造函数的外面。
- 相反,受检查的异常必须要用throws语句在方法或者是构造函数上声明。
Java中Exception和Error有什么区别?
- Exception和Error都是Throwable的子类。
- Exception用于用户程序可以捕获的异常情况。
- Error定义了不期望被用户程序捕获的异常。
throw和throws有什么区别?
1、Throw用于方法内部,Throws用于方法声明上
2、Throw后跟异常对象,Throws后跟异常类型
3、Throw后只能跟一个异常对象,Throws后可以一次声明多种异常类型
异常处理完成以后,Exception对象会发生什么变化?
- Exception对象会在下一个垃圾回收过程中被回收掉。