Java獲取到異常信息進行保存(非Copy)


吐槽:不知道從什么時候開始,各大博客網站的文章開始各種復制粘貼,想好好找一個解決方法,搜索出來的博客基本上千篇一律,主要是能解決問題也還行,還解決不了問題這就惡心了....
所以被迫自己寫一篇文章,然后讓有同樣需求的童鞋找到正確的解決方式了。

        首先說我們可能都會遇上這樣的需求,進行try catch捕獲到異常,然后將異常信息存儲到到DB中,而jdk自帶的e.printStackTrace();是直接將異常信息進行輸出,沒法進行保存。但是很友好得lang包出現了,提供了一個方法可以讓我們捕獲到異常信息。如下:

ExceptionUtils.getStackTrace(e)

        該方法來自package org.apache.commons.lang3.exception;所以需要調用這個方法的童鞋需要用mvn引入對應的jar或者直接導入jar。
當然我們也可以不用導入jar包,直接將ExceptionUtils.getStackTrace(e);實現代碼扒下來,引入自己的項目中。如下:

public static String getStackTrace(final Throwable throwable) {
    final StringWriter sw = new StringWriter();
    final PrintWriter pw = new PrintWriter(sw, true);
    throwable.printStackTrace(pw);
    return sw.getBuffer().toString();
}

        該方法的返回值是一個String,所以我們直接調用這個方法然后進行存儲就ok了!!!


免責聲明!

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



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