【问题标题】:Convert the result of Throwable.getStackTrace() to a string that depicts the stacktrace将 Throwable.getStackTrace() 的结果转换为描述堆栈跟踪的字符串
【发布时间】:2015-08-23 18:10:06
【问题描述】:

Throwable.getStackTrace()结果 转换为描述堆栈跟踪的字符串 的最简单方法是什么?

【问题讨论】:

  • 添加代码并清楚您所做的工作...另请参阅我的编辑...
  • @gokulprasad 请查看下面给出的答案。

标签: java tostring


【解决方案1】:

如果您不必从 getStackTrace 开始,那么如果您想要的只是字符串表示,那么使用 printStackTrace 比使用 getStackTrace 更容易。

String trace;
try(PrintWriter pw = new PrintWriter(new StringWriter())) {
  t.printStackTrace(pw);
  trace = pw.toString();
}

【讨论】:

    【解决方案2】:

    您可以遍历StackTraceElement 对象数组并将它们附加到StringBuilder,如下所示:

    Throwable t;
    StringBuilder result = new StringBuilder("Throwable stack trace:");
    for (StackTraceElement element : t.getStackTrace()) {
        result.append(element);
        result.append(System.getProperty("line.separator"));
    }
    
    System.out.println(result.toString());   // print out the formatted stack trace
    

    【讨论】:

      猜你喜欢
      • 2010-11-12
      • 2013-09-04
      • 2011-06-01
      • 2015-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多