异常堆栈信息输出工具类

Posted yanjiexiansheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常堆栈信息输出工具类相关的知识,希望对你有一定的参考价值。

public class MyExceptionUtils {

    /**
     * 输入异常的堆栈信息
     * @param aThrowable
     * @return
     */
    public static String getStackTrace(Throwable e) {
        final Writer result = new StringWriter();
        final PrintWriter printWriter = new PrintWriter(result);
        e.printStackTrace(printWriter);
        return result.toString();
    }
        
    /**
     * 获取e.printStackTrace() 的具体信息,赋值给String 变量,并返回
     * @param e Exception
     * @return e.printStackTrace() 中 的信息
     */
    public static String getStackTraceInfo(Exception e) {
        StringWriter sw = null;
        PrintWriter pw = null;
        try {
            sw = new StringWriter();
            pw = new PrintWriter(sw);
            e.printStackTrace(pw);//将出错的栈信息输出到printWriter中
            pw.flush();
            sw.flush();
            return sw.toString();
        } catch (Exception ex) {
            return "发生错误";
        } finally {
            if (sw != null) {
                try {
                    sw.close();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
            }
            if (pw != null) {
                pw.close();
            }
        }
    }
}

 

以上是关于异常堆栈信息输出工具类的主要内容,如果未能解决你的问题,请参考以下文章

Log4j打印错误异常的详细堆栈信息

Java异常堆栈字符串输出

Java 线上服务记录异常日志

手机调试Android程序出异常时不打印堆栈信息

linux下使用dmp输出堆栈信息方法说明

java.lang.NoClassDefFoundError: Could not initialize class