方法一:
private static String getStackMsg(Exception e) { StringBuffer sb = new StringBuffer(); StackTraceElement[] stackArray = e.getStackTrace(); for (int i = 0; i < stackArray.length; i++) { StackTraceElement element = stackArray[i]; sb.append(element.toString() + " "); } return sb.toString(); } private static String getStackMsg(Throwable e) { StringBuffer sb = new StringBuffer(); StackTraceElement[] stackArray = e.getStackTrace(); for (int i = 0; i < stackArray.length; i++) { StackTraceElement element = stackArray[i]; sb.append(element.toString() + " "); } return sb.toString(); }
方法二:
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"; } } }