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));
    }
}

我們看下打印結果:

轉載於:https://blog.csdn.net/q649381130/article/details/77182346


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM