Jon*_*eet 26
绝对 - 您可以使用检索内部异常("原因")Throwable.getCause().要使用cause创建异常,只需将其传递给构造函数即可.(大多数异常都有一个构造函数接受一个原因,它有意义.)
您可以通过两种方式设置内部异常(AKA是原因).如果您自己实例化异常,请将内部异常传递给(外部)异常的构造函数,例如
try {
// some code that throws innerException
} catch (Exception innerException) {
throw new OuterException(innerException);
}
Run Code Online (Sandbox Code Playgroud)
另一方面,如果外部异常没有允许您设置内部异常的构造函数,或者您没有自己实例化外部异常,则可以使用
outerException.initCause(innerException);
Run Code Online (Sandbox Code Playgroud)
从Java 1.4开始,java.lang.Throwable具有将另一个Throwable作为参数的构造函数和一个getCause()返回它的方法.几乎所有标准API中的异常以及其他库中实现的大多数异常都使用此工具.
| 归档时间: |
|
| 查看次数: |
11352 次 |
| 最近记录: |