Java如何将Exception.printStackTrace()转换为String输出

package com.test1;

import java.io.PrintWriter;
import java.io.StringWriter;

public class T010 {

/**
* @param args
*/
public static void main(String[] args) {
try {
String[] arr = {"111", "222"};
arr[2] = "fff";
} catch (Exception e) {
String info = getErrorInfoFromException(e);
System.out.println(info);
}
}

public static String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return " " + sw.toString() + " ";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
}

控制台上输出的消息如下所示:
java.lang.ArrayIndexOutOfBoundsException: 2
at com.test1.T010.main(T010.java:14)

原文地址:https://www.cnblogs.com/zhangzhifeng/p/4580613.html