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