Exception詳細を取得してログやメールに流すために、あえて、String で取得するコードは、一定であるべきと考える。
static String getCRcode(){
return java.io.File.pathSeparatorChar==';' ? "\r\n" : "\n";
}
static String CRCD = getCRcode();
/**
* Exceptionスタックトレースメッセージ文字列取得
* @param e 発生したException
* @return e.printStracktrace()と同じ結果の文字列を返す。
*/
public static String exceptionTrace(Throwable e){
StringBuffer sb = new StringBuffer(e.getClass().getName());
sb.append(":");
sb.append(e.getMessage());
sb.append(CRCD);
for(StackTraceElement ste : e.getStackTrace()){
sb.append("\tat ");
sb.append(ste.toString());
sb.append(CRCD);
}
return sb.toString();
}