Java 学习笔记

所有文章
📖 最新文章 transmittable-thread-local 库 JOOR 反射库 Lombok 库:为你减少样板代码 Slf4j 日志组件的使用 加速maven、gradle依赖下载
📖 Java 基础 安装 第一个程序 使用 UTF-8 编写代码 空值 null 正则表达式 线程 日期/时间 匿名类 枚举 ThreadLocal 线程本地变量 动态代理 jar 命令

Java 将异常堆栈转换为 String


用下面的方法可以将异常堆栈转换为String:

public static String getStackInfo(Exception ex) {
    StringWriter sw = new StringWriter();
    ex.printStackTrace(new PrintWriter(sw));
    return sw.toString();
}

测试示例

import java.io.PrintWriter;
import java.io.StringWriter;

public class ExceptionTest {

    /**
     * 自定义异常
     */
    public static class CustomException extends RuntimeException {
        public CustomException(String msg) {
            super(msg);
        }
    }

    /**
     * 将异常的堆栈内容转换为 String
     */
    public static String getStackInfo(Exception ex) {
        StringWriter sw = new StringWriter();
        ex.printStackTrace(new PrintWriter(sw));
        return sw.toString();
    }

    public static void main(String[] args) {
        CustomException ex = new CustomException("异常");
        System.out.println(getStackInfo(ex));
    }

}

执行结果:

ExceptionTest$CustomException: 异常
    at ExceptionTest.main(ExceptionTest.java:25)

参考


( 本文完 )

文章目录