Java改变异常输出的一种形式,封装框架的时候觉得有用,自定义异常输出的一种思路
2017-06-29 17:00
267 查看
Java的异常输出,有时输出一大堆内容,针对异常的输出格式,目前有像Log4J等框框,通过在类路径下配置一个log4j.properties,添加相关的jar包即可。
以下是在看开源框架GUNS里的工具类源码时所启发,其实我们也可以自己定义自己的输出格式,以下是我的实现思路。
输出后:
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)
以下是在看开源框架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)
相关文章推荐
- strut2下载时候的一种异常 Can not find a java.io.InputStream with the name [inputStream] in the invocation stack
- 在java Spring基础上实现自定义异常处理框架教程
- java--IO流-LineNumberReader,读取键盘录入,字符字节流转换,改变标准输入输出设备,异常的日志信息,系统信息
- java自定义异常信息日志输出
- 自定义异常实战,java封装自定义异常
- JAVA自定义异常类的一种实现方式
- JavaSE023_Java异常封装(自定义错误码和描述)
- 关于URL+method、通用参数封装的设计思路(java web,SSM框架)
- Java异常封装(自定义错误码和描写叙述,附源代码)
- Java注解探究,自定义注解封装简易网络请求框架
- java 私有是封装的一种形式
- 在java Spring基础上实现自定义异常处理框架教程
- 两步实现Log4j记录java控制台输出的系统所有异常信息和自定义记录日志---->非常实用,强烈推荐阅读
- java第七周实验封装一类对象English,该类对象具有一种功能printEnglish输出英文字母表。再封装一类对象Greek,该类必须是English的子类,该类对象不仅可以调用方法printE
- JSP/Servlet/JSF--Java异常框架设计
- 由数组的封装来浅谈JAVA面向对象的思路
- MDI框架下管理多个自定义窗体的思路
- 一种Java日志系统框架的设计与实现(转)
- 深入探索 高效的Java异常处理框架