【轉】java中輸出異常資訊
阿新 • • 發佈:2018-12-04
做java開發的時候,經常會遇到程式碼拋異常後,需要把異常資訊儲存到資料庫或者上傳到雲伺服器做cache分析。這時候就需要獲取異常的堆疊資訊(詳細錯誤資訊)。
有的人用e.getMessage()來獲取異常資訊,但是這樣獲取到的資訊內容並不全,而且有時候為空。我們可以用下面方法來獲取。
public static String getStackTrace(Throwable throwable) { StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); try { throwable.printStackTrace(pw); return sw.toString(); } finally { pw.close(); } }
使用也很簡單:
public static void test() { try { int i = 0; int m = 10 / i; } catch (Exception e) { System.out.println(e.getMessage()); System.out.println("------調皮的分割線------"); System.out.println(ExceptionUtil.getStackTrace(e)); } }
輸出結果:
/ by zero
---------
java.lang.ArithmeticException: / by zero
at net.lingala.zip4j.test.BST.test(BST.java:238)
at net.lingala.zip4j.test.BST.main(BST.java:265)
轉載:https://blog.csdn.net/q649381130/article/details/77182346