Java改变异常输出的一种形式,封装框架的时候觉得有用,自定义异常输出的一种思路

Java的异常输出,有时输出一大堆内容,针对异常的输出格式,目前有像Log4J等框框,通过在类路径下配置一个log4j.properties,添加相关的jar包即可。
以下是在看开源框架GUNS里的工具类源码时所启发,其实我们也可以自己定义自己的输出格式,以下是我的实现思路。

public static String getExceptionMsg(Exception e) {
        StringWriter sw = new StringWriter();
        try{
            e.printStackTrace(new PrintWriter(sw));
        }finally {
            try {
                sw.close();
            } catch (IOException e1) {
                e1.printStackTrace();
            }
        }
// 在这里 sw.getBuffer().toString()为我们拿到的异常信息,我们可以通过正则等手段进行美化我们的输出,并可以在前台jsp等页面进行渲染。。。。
//        return sw.getBuffer().toString().replaceAll("\\$","T");
        // 举个例子  改变 by zero的输出
     return sw.getBuffer().toString().replaceAll("by zero","huangbaokang");
    }

public static void main(String[] args) {
        try {
            int i=1/0;
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("-----------华丽的分割线-----------");
            System.out.println(getExceptionMsg(e));
        }
    }

输出后:

java.lang.ArithmeticException: / by zero at
com.stylefeng.guns.core.util.ToolUtil.main(ToolUtil.java:71)
———–华丽的分割线———– java.lang.ArithmeticException: / huangbaokang at
com.stylefeng.guns.core.util.ToolUtil.main(ToolUtil.java:71)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄宝康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值