- Exception与Error都继承Throwable
- 1.何时使用异常:由于异常处理需要初始化新的异常对象,需要从调用栈返回,而且还需要沿着方法调用链来传播异常以便找到它的异常处理器,所以,异常处理需要更多时间和资源。一个项目中多个类都会发生的共同异常应该考虑作为一种异常类。
- 2.RuntimeException、Error以及它们的子类都称为免检异常,所有其他异常都被成为必检异常,意思是编译器会强制程序员检查并处理它们。
- 3.重新抛出异常:可以重新抛出异常给调用者,以便调用者的其他处理器获得处理异常的机会。
try{
}catch(Exception ex){
throw ex;
}
- 4.链式异常:连同原始异常一起抛出新异常。
try{
}catch(Exception ex){
throw new Exception("",ex);
}