phe*_*aal 7 java exception apache-commons lang
我想在我的项目中将Apache commons lang从2.4升级到3.1.我的实现引用了ExceptionUtil.getFullExceptionTrace(e),它在3.1中不再存在.删除的原因列为
"删除isThrowableNested,isNestedThrowable和getFullStackTrace,因为一旦你进入JDK 1.4,它们就是所有类型的无操作.LANG-491"
.关于这一变化的几个问题:
我很困惑,如果这意味着我们需要探索一些其他方法来检索完整的堆栈跟踪,或者我们可以简单地用ExceptionUtils.getStackTrace(e)替换.
有什么想法在jdk 1.4之后改变了什么来使方法变得多余?
我们不能简单地做e.toString(),其中e是我的Exception实例吗?
谢谢
Java 1.4 在Throwable类上引入了getCause()方法,该类是所有Exception类的父类.如果需要将堆栈跟踪作为String,可以使用ExceptionUtils.getStackTrace(e)或类似的东西:
Exception e = ...
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw));
String stack Trace = sw.toString();
Run Code Online (Sandbox Code Playgroud)
请参阅有关在JIRA问题LANG-491上从ExceptionUtil中删除方法的其他讨论.
| 归档时间: |
|
| 查看次数: |
5096 次 |
| 最近记录: |