【java】将异常栈内信息合并成字符串的函数

【功能】

将ex.printtStackTance()输出的内容转化为字符串。

【适用场景】

将不易跟踪的异常存贮到DB或是文件里。

【代码】

复制代码
package com.hy.lab.gotminus;

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

public class DbConnector extends Thread{
    public static void main(String[] args){
        try {
            int n = Integer.parseInt("1A");
        }catch(Exception ex){
            String traceInfo=getStackTraceInfo(ex);
            System.out.println(traceInfo);
        }
    }

    /**
     * 此函数用户将异常栈全部合并成字符串,适合将难以跟踪的异常存储起来
     * @param ex 异常
     * @return 异常栈组合成的字符串
     */
    public static String getStackTraceInfo(Throwable ex){
        StringWriter sw=new StringWriter();

        try(PrintWriter pw=new PrintWriter(sw);){
            ex.printStackTrace(pw);
            return sw.toString();
        }
    }
}
复制代码

【输出】

java.lang.NumberFormatException: For input string: "1A"
    at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
    at java.base/java.lang.Integer.parseInt(Integer.java:668)
    at java.base/java.lang.Integer.parseInt(Integer.java:786)
    at com.hy.lab.gotminus.DbConnector.main(DbConnector.java:9)


Process finished with exit code 0

END

posted @   逆火狂飙  阅读(306)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2020-05-11 十万大小的数据集,要从中选出最大的十个元素怎么做呢?
2020-05-11 Q20200511-01 翻转字符串
2020-05-11 Q200510-03-03 :LRU缓存机制
2020-05-11 Q200510-02-02: 重复的DNA序列 SQL解法
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东
点击右上角即可分享
微信分享提示