您的位置:首页 > 编程语言 > Java开发

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

2017-06-29 17:00 267 查看
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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: