获取完整的字符串堆栈跟踪,包括内部异常
Java 的 e.printStackTrace() 不会打印内部异常堆栈跟踪的所有详细信息。
有没有现成的方法可以生成字符串形式的完整堆栈跟踪? (除了我自己格式化它)
编辑
我刚刚发现了 printStackTrace() 的作用 - 显然它过滤掉的堆栈帧正是内部异常和外部异常所共有的。所以实际上这正是我想要的,而不是“完整”堆栈跟踪。
Java's e.printStackTrace() doesn't print all the details of the inner exception's stack trace.
Is there a ready way to generate the complete stack trace in string form? (besides formatting it myself)
Edit
I just found out what printStackTrace() does - apparently the stack frames it filters out are exactly the ones common to the inner exception and the outer one. So in fact it is rather what I want, and not the 'full' stack trace.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我建议您使用 ExceptionUtils 来自 Apache Commons lang 的类,它为此提供了有用的方法。
I suggest that you use the ExceptionUtils class from Apache Commons lang, which provides useful method for that.
我最终推出了自己的版本(我采用了 Throwable.printStackTrace() 的实现并对其进行了一些调整):
I ended up rolling my own (I took the implementation of Throwable.printStackTrace() and tweaked it a bit):
是的,您可以使用 Throwable.getStackTrace() 返回的 StackTraceElement 类并查找详细信息。
从API:
Yes you can use the StackTraceElement class returned by Throwable.getStackTrace() and find the details.
From the API: