예외가 발생했을 때, stack trace를 String으로 받는 방법입니다.
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
public class GetPrintStackTraceIntoString {
public static void main(String[] args) {
Exception e = new Exception("my exception");
ByteArrayOutputStream out = new ByteArrayOutputStream();
PrintStream pinrtStream = new PrintStream(out);
// 걍 e.printStackTrace()하면 System.out에 찍는데,
// 출력할 PrintStream을 생성해서 건네 줍니다.
e.printStackTrace(pinrtStream);
String stackTraceString = out.toString(); // 찍은 값을 가져오고.
System.out.println("stack trace="+stackTraceString);
}
}
/*
* result
stack trace=java.lang.Exception: my exception
at GetPrintStackTraceIntoString.main(GetPrintStackTraceIntoString.java:12)
*/

Prev
Rss Feed