Java将Stack trace发送到不同的输出流
发布时间:2020-12-15 00:48:07 所属栏目:Java 来源:网络整理
导读:当我在 Java应用程序中捕获异常时,我需要记录堆栈跟踪.我知道异常有一个内置的printStackTrace()方法,并且可以将堆栈跟踪发送到不同的PrintWriter / PrintStream,但是如果我可以将堆栈跟踪作为String抓取,以便我可以操作它或者在JMessagePane中显示它.目前,
当我在
Java应用程序中捕获异常时,我需要记录堆栈跟踪.我知道异常有一个内置的printStackTrace()方法,并且可以将堆栈跟踪发送到不同的PrintWriter / PrintStream,但是如果我可以将堆栈跟踪作为String抓取,以便我可以操作它或者在JMessagePane中显示它.目前,我唯一要做的就是:
String stackTrace = ""; stackTrace += e.getClass().getName() + ": " + e.getMessage() + "n"; for (StackTraceElement elt : e.getStackTrace()) { stackTrace += "tat " + elt + "n"; } 有没有更清洁的方法来做到这一点? 解决方法
有:
StringWriter writer = new StringWriter(); e.printStackTrace(new PrintWriter(writer)); String stackTrace = writer.toString(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |