240k Dev Wiki
tips/JAVA/Throwable printStackTrace() の結果を文字列として取り出す(2 of 2)
をテンプレートにして作成
開始行:
#navi(../)
* Throwable printStackTrace() の結果を文字列として取り出...
printStackTrace(PrintWriter) ではうまくいかない場合がある...
実際には Throwable#getStackTrace() を用いる方が簡便かもし...
(JRE 1.4 以降)
このメソッドはスタックトレースの内容を StackTraceElement ...
配列の一つ一つの内容を文字列に直せば、
printStackTrace() と同様の結果を得ることができます。
(ただしタブや改行などの整形は行う必要があります)
例)
#pre{{
public class StackTracePrintTest {
...
private String getStackTraceString(Throwable ex) thro...
StringBuffer buf = new StringBuffer();
buf.append(ex.toString());
buf.append("\n");
// スタックトレースの内容を取得
StackTraceElement[] sts = ex.getStackTrace();
for (int i = 0; i < sts.length; i++) {
buf.append("\tat ");
buf.append(sts[i].toString());
buf.append("\n");
}
// Cause Throwable が存在する場合
Throwable cause = ex.getCause();
if (cause != null) {
buf.append("Caused by: ");
buf.append(this.getStackTraceString(cause));
}
return buf.toString();
}
}
}}
上記のようにすれば、スタックトレースの内容を文字列に出力...
ただし自前でこの処理を作るよりは、
やはり printStackTrace() の内容をそのまま String で返すよ...
終了行:
#navi(../)
* Throwable printStackTrace() の結果を文字列として取り出...
printStackTrace(PrintWriter) ではうまくいかない場合がある...
実際には Throwable#getStackTrace() を用いる方が簡便かもし...
(JRE 1.4 以降)
このメソッドはスタックトレースの内容を StackTraceElement ...
配列の一つ一つの内容を文字列に直せば、
printStackTrace() と同様の結果を得ることができます。
(ただしタブや改行などの整形は行う必要があります)
例)
#pre{{
public class StackTracePrintTest {
...
private String getStackTraceString(Throwable ex) thro...
StringBuffer buf = new StringBuffer();
buf.append(ex.toString());
buf.append("\n");
// スタックトレースの内容を取得
StackTraceElement[] sts = ex.getStackTrace();
for (int i = 0; i < sts.length; i++) {
buf.append("\tat ");
buf.append(sts[i].toString());
buf.append("\n");
}
// Cause Throwable が存在する場合
Throwable cause = ex.getCause();
if (cause != null) {
buf.append("Caused by: ");
buf.append(this.getStackTraceString(cause));
}
return buf.toString();
}
}
}}
上記のようにすれば、スタックトレースの内容を文字列に出力...
ただし自前でこの処理を作るよりは、
やはり printStackTrace() の内容をそのまま String で返すよ...
ページ名:
外部リンク元
検索
AND検索
OR検索
ナビゲート
トップ
一覧
最近の更新
編集操作
新規
バックアップ
ヘルプ
カテゴリ
†
アプリケーション
tips/JAVA
tips/eclipse
?
tips/eclipse/plugin開発
tips/maven2.0
tips/misc
tips/web
最新の10件
2012-04-25
アプリケーション/Android/RubberString
2012-04-15
アプリケーション
2009-08-10
tips/eclipse/plugin開発/RCP/クロスプラットフォームのエクスポート
2009-08-09
アプリケーション/MixedCalc
2008-08-14
tips/JAVA/JavaBeans/Propertyのルール
2008-07-10
tips/eclipse/plugin開発/GEF/DeleteAction 実行の流れ
2008-06-27
MenuBar
FrontPage
2008-06-20
tips/JAVA/2文字目が大文字の Beans プロパティ
2008-06-15
tips/eclipse/plugin開発/GEF/RetargetAction のしくみ
↑
関連リンク
†
240K HOME
↑
編集操作
†
edit