Javaで例外が発生した時、そのトレース内容を文字列として保持したい時に使用可能なメソッドを作ってみました。
public String getStackTrace(Exception e) {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
pw.flush();
return sw.toString();
}
とはいえ、基本的にはe.printStackTraceでその場でトレースをログなりコンソールなりに出力してしまうので、あまり使う機会はありません。
しかし、いざ文字列として扱いたいなという時にException型のままでは利用できないので、使い方を知っておくと便利ですね。