※ ChatGPTを利用し、要約された質問です(原文:ExceptionのStackTraceをStringに格納したい(JDK1.3))
ExceptionのStackTraceをStringに格納したい(JDK1.3)
このQ&Aのポイント
JDK1.3を使用している状況で、Exception発生時のStackTraceをString変数に格納する方法を探しています。
JDK1.4以降ではgetStackTrace()メソッドを使用できますが、JDK1.3では使用できないため、独自のコーディングが必要です。
Sring配列として格納する方法や、参考となるサンプルロジックやウェブページを提供していただきたいです。
ExceptionのStackTraceをStringに格納したい(JDK1.3)
Exception発生時のStackTraceをString変数に格納してエラー時のログ出力等の処理に使用したいと思っており、StackTraceをStringに格納する方法で思案しております。JDK1.4であればgetStackTrace()等が使えそうですが、当方はJDK1.3を使用しており、1.4から実装されたgetStackTrace()は使用できないために独自にコーディングする必要があると思っております。
なにかよい方法はないでしょうか。Stringは配列になってももちろんかまいません。サンプルロジックや参考HP等を紹介していただきたいと思っております。
よろしくお願いいたします。
お礼
早速のご回答ありがとうございます。 ご回答の内容と、TOMCATソースのスタック出力方法を 参考にして以下のようなロジックで対応できました。 CharArrayWriter buf = new CharArrayWriter(); PrintWriter writer = new PrintWriter(buf); exp.printStackTrace(writer); Throwable rootCause = exp.getRootCause(); if (rootCause != null) { writer.println("----- Root Cause -----"); rootCause.printStackTrace(writer); } System.out.println("writer.toString:" + buf.toString());