Java 链式异常
链式异常允许将一个异常与另一个异常联系起来,即一个异常描述另一个异常的原因。例如,考虑这样一种情况:一个方法因为试图除以0而抛出一个ArithmeticException,但导致异常的实际原因是一个I/O错误,导致除数为0。该方法将只向调用者抛出ArithmeticException。所以调用者不会知道异常的实际原因。在这种情况下,可以使用链式异常。
在java中支持链式异常的Throwable类的 构造函数 。
- Throwable(Throwable cause) :- 其中cause是导致当前异常的原因。
- Throwable(String msg, Throwable cause) :- 其中msg是异常信息,cause是导致当前异常的异常。
Throwable类支持java中的连锁异常的 方法 。
- getCause() 方法 :- 该方法返回异常的实际原因。
- initCause(Throwable cause)方法 :- 该方法为调用的异常设置原因。
使用链式异常的例子。
输出: