240k Dev Wiki
tips/JAVA/Throwable printStackTrace() の結果を文字列として取り出す(1 of 2)
をテンプレートにして作成
開始行:
#navi(../)
* Throwable printStackTrace() の結果を文字列として取り出...
デバックを行う場合など、
例外が何処で発生したかを追跡するため Throwable#pri...
通常このメソッドは標準エラー出力にしか出力されません。
ログファイルに残したり、
(コンソールではなく)ウェブ画面やGUI上に表示したい場合な...
標準では用意されていません。
方法の一つとして、Throwable#printStackTrace(PrintS...
引数に指定したストリームに結果を出力させることができるた...
Pipe ストリームを利用して結果をストリームから取り出すこと...
例)
#pre{{
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PipedReader;
import java.io.PipedWriter;
import java.io.PrintWriter;
import java.io.Reader;
public class StackTracePrintTest {
...
private String getStackTraceString(Throwable e) throw...
// Pipe ストリームで出力ストリームと入力ストリー...
PipedWriter pipeOut = new PipedWriter();
PipedReader pipeIn = new PipedReader(pipeOut);
PrintWriter out = new PrintWriter(pipeOut);
// Throwable の printStackTrace メソッドで出力ス...
e.printStackTrace(out);
out.flush();
out.close();
// 入力ストリームから結果を取得する。
BufferedReader is = new BufferedReader(pipeIn);
StringBuffer buf = new StringBuffer();
String line;
while ((line = is.readLine()) != null) {
buf.append(line);
}
return buf.toString();
}
}
}}
上記の例の getStackTraceString メソッドで、
Throwable からスタックトレース情報を取得することが出来ま...
ただし、実際にこの処理をアプリケーション内で使おうとした...
(おそらくマルチスレッドの状態で使うと)
e.printStackTrace() の箇所以降に進まなくなってしまいまし...
マルチスレッドの際のストリームの動作を調べれば解決するの...
終了行:
#navi(../)
* Throwable printStackTrace() の結果を文字列として取り出...
デバックを行う場合など、
例外が何処で発生したかを追跡するため Throwable#pri...
通常このメソッドは標準エラー出力にしか出力されません。
ログファイルに残したり、
(コンソールではなく)ウェブ画面やGUI上に表示したい場合な...
標準では用意されていません。
方法の一つとして、Throwable#printStackTrace(PrintS...
引数に指定したストリームに結果を出力させることができるた...
Pipe ストリームを利用して結果をストリームから取り出すこと...
例)
#pre{{
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PipedReader;
import java.io.PipedWriter;
import java.io.PrintWriter;
import java.io.Reader;
public class StackTracePrintTest {
...
private String getStackTraceString(Throwable e) throw...
// Pipe ストリームで出力ストリームと入力ストリー...
PipedWriter pipeOut = new PipedWriter();
PipedReader pipeIn = new PipedReader(pipeOut);
PrintWriter out = new PrintWriter(pipeOut);
// Throwable の printStackTrace メソッドで出力ス...
e.printStackTrace(out);
out.flush();
out.close();
// 入力ストリームから結果を取得する。
BufferedReader is = new BufferedReader(pipeIn);
StringBuffer buf = new StringBuffer();
String line;
while ((line = is.readLine()) != null) {
buf.append(line);
}
return buf.toString();
}
}
}}
上記の例の getStackTraceString メソッドで、
Throwable からスタックトレース情報を取得することが出来ま...
ただし、実際にこの処理をアプリケーション内で使おうとした...
(おそらくマルチスレッドの状態で使うと)
e.printStackTrace() の箇所以降に進まなくなってしまいまし...
マルチスレッドの際のストリームの動作を調べれば解決するの...
ページ名:
外部リンク元
検索
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