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了!!!

posted @ 2020-08-27 13:44  偷吃虾的猫。  阅读(1072)  评论(0编辑  收藏  举报