SQLException是链式异常,从以下代码中找出正确的代码来执行相同的代码:( )
catch(SQLException e) {
out.println(e.getMessage());
while((e = e.getNextException()) != null) {
out.println(e.getMessage());
}
}catch(SQLException e) {
out.println(e.getNextException());
while((e = e.getMessage()) != null) {
out.println(e.getMessage());
}
}catch(SQLException e) {
out.println(e.getMessage());
while((e = e.getEncapsulatedException()) != null) {
out.println(e.getMessage());
}
}catch(SQLException e) {
out.println(e.getMessage());
}链式异常允许将一个异常与另一个异常联系起来,即一个异常描述另一个异常的原因。例如,考虑这样一种情况:一个方法因为试图除以0而抛出一个ArithmeticException,但导致异常的实际原因是一个I/O错误,导致除数为0。该方法将只向调用者抛出ArithmeticException。所以调用者不会知道异常的实际原因。在这种情况下,可以使用链式异常。
在java中支持链式异常的Throwable类的构造函数 。
Throwable(Throwable cause) :- 其中cause是导致当前异常的原因。
Throwable(String msg, Throwable cause) :- 其中msg是异常信息,cause是导致当前异常的异常。
在java中支持链式异常的Throwable类的构造函数 。
Throwable(Throwable cause) :- 其中cause是导致当前异常的原因。
Throwable(String msg, Throwable cause) :- 其中msg是异常信息,cause是导致当前异常的异常。