异常getMessage为null时获取异常信息并保存方法

本文介绍了如何在Java中处理Runtime异常时,当getMessage返回null的情况,通过获取堆栈跟踪信息并将其转换为字符串,以便于保存到数据库大字段中,确保异常详情的完整性。
摘要由CSDN通过智能技术生成

因项目需要将异常信息保存下来提供前台查看,而Runtime异常(如空指针异常)发生时JVM调用的是父类无参的构造器,getMessage为null,但栈打印的异常信息是有的,故此处添加获取栈打印的异常信息,用getBuffer获取并转为字符串保存。

在这里插入代码片
``catch (Exception e) {
        String errMessage = e.getMessage();
        if(StringUtils.isNotBlank(errMessage )) {
            StringWriter stringWriter= new StringWriter();
	        PrintWriter writer= new PrintWriter(stringWriter);
			e.printStackTrace(writer);
			StringBuffer stringBuffer = stringWriter.getBuffer();
			errMessage = stringBuffer.toString();
        }
}

//可封装下代码。 异常信息是比较长的,我这数据库字段使用大字段保存,也可自己截取一部分异常内容保存
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值