最近项目用到第三方jar包,抛出运行时异常,打在日志用的
方法。得到的错误描述并不详尽,遂想到平时用的
发现其可以重定向输出,平时用流多是和文件相关,但是在当前背景下用文件打开流显得不是很合适,翻了下
jdk,发现这个好东西
1 package exception; 2 3 import java.io.ByteArrayOutputStream; 4 import java.io.IOException; 5 import java.io.PrintStream; 6 7 public class TraceExceptionDemo1 { 8 9 public static void main(String[] args) { 10 ByteArrayOutputStream os = null; 11 try { 12 throw new NullPointerException(); 13 } catch (Exception e) { 14 // TODO: handle exception 15 os = new ByteArrayOutputStream(); 16 e.printStackTrace(new PrintStream(os)); 17 System.out.println("$ " + os.toString()); 18 } finally { 19 if(os != null) { 20 try { 21 os.close(); 22 } catch (IOException e) { 23 // TODO Auto-generated catch block 24 e.printStackTrace(); 25 } 26 } 27 } 28 } 29 30 }