下面的三個方法都是獲取異常的詳細信息,或許的異常詳細信息以字符串的形式返回,保持棧堆載的風格 方法一: public static String getExceptionAllinformation(Exception ex){ String sOut = "";
sOut += ex.getMessage() + "\r\n"; StackTraceElement[] trace = ex.getStackTrace(); for (StackTraceElement s : trace) { sOut += "\tat " + s + "\r\n"; } return sOut; } 方法二: public static String getExceptionAllinformation_01(Exception ex) { ByteArrayOutputStream out = new ByteArrayOutputStream(); PrintStream pout = new PrintStream(out); ex.printStackTrace(pout); String ret = new String(out.toByteArray()); pout.close(); try { out.close(); } catch (Exception e) { } return ret; } 方法三: private static String toString_02(Throwable e){ StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw, true); e.printStackTrace(pw); pw.flush(); sw.flush(); return sw.toString(); }