gpt4 book ai didi

java - 堆栈跟踪作为字符串

转载 作者:IT老高 更新时间:2023-10-28 20:54:31 24 4
gpt4 key购买 nike

如何在 Java 中获得完整的异常消息?

我正在创建一个 Java 应用程序。如果出现运行时异常,会弹出一个带有 JTextAreaJDialog。我试图在我的应用程序中创建运行时异常,但显示异常消息的文本区域如下所示:

java.lang.ClassNotFoundException: com.app.Application

但是,我希望我的文本区域显示如下内容:

enter image description here

这是我的代码的一部分,被 trycatch 包围:

String ex = e.toString();
this.addText(ex);

我尝试使用 e.getLocalizedMessage()e.getMessage(),但这些都不起作用。

最佳答案

你需要调用Throwable#printStackTrace(PrintWriter);

try{

}catch(Exception ex){
String message = getStackTrace(ex);
}

public static String getStackTrace(final Throwable throwable) {
final StringWriter sw = new StringWriter();
final PrintWriter pw = new PrintWriter(sw, true);
throwable.printStackTrace(pw);
return sw.getBuffer().toString();
}

您还可以使用提供此功能的 commons-lang-2.2.jar Apache Commons Lang 库:

public static String getStackTrace(Throwable throwable)
Gets the stack trace from a Throwable as a String.

ExceptionUtils#getStackTrace()

关于java - 堆栈跟踪作为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18546842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com