1. 程式人生 > >【轉】java中輸出異常資訊

【轉】java中輸出異常資訊

做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