异常处理:和日志集成
日期:2007年5月2日 作者: 查看:[大字体 中字体 小字体]-
在软件实现中,异常和日志都是重要的质量保证手段,常常,我们总是需要在系统实现上同时提供异常和日志,并且总是在“距离”很近的地方实现的,下面是一段典型的使用异常和日志的代码:
来源:http://www.matrix.org.cn/blog/X-Brave/try{
//do something here...
}catch(Exception e){
log.error(“Your business exception message…”);
throw new BusinessException(“Your business exception message…”);
}
类似的代码我们经常遇到。虽然类似的代码都是简单的,但在现实中我们可以发现,一些时候粗心的程序员总是忽略或者忘记了两者都需要书写并且尽可能使用一致的异常消息。既然异常和日志总是同时出现的,那么我们就可以把两者集合起来。实际上在我看来,他们本来就是一家人。
为了达到异常和日志的集合,我测试过2种做法:一种选择是在自定义异常类中提供支持;一种是异常消息拼凑时提供支持。我们也可以在其中提供额外的功能来保证系统的效能,包括“适度”缓冲的异常处理。但需要特别注意的是,这种处理所带来的“长过程”(也就是经过不止一个步骤才完成这些功能)开销,在缓冲异常信息可能带来的系统出错时异常丢失,以及在异常消息处理时可能出现错误需要提供额外的保护措施。
更进一步的,我们应该注意到如下事实:
首先,异常的层次结构是不同的。它包括了底层的LowlevelException(合称相关需要抛出异常的异常处理)和上层的异常使用者,细心的读者应该发现,上述的实例实际上属于LowlevelException。
其次,我们也应该注意到异常包括客户定制的异常如BusinessException和Java自带的异常。这些异常的共存如何进行统一是我们需要面对的,但通常,我认为异常的客户定制包装是必要的,特别是多层结构下这个客户定制化就是让异常具有容易理解的信息。
异常和日志的集合,是一种简单、实用的创新做法,在这种实现里面,你可以提高系统异常处理的一致性程度、你可以提供经过缓冲的日志输出的一致性做法,我们也注意到她的处理的灵活性,必要时,你可以关闭她。 - [1] [2] 下一页
-
- 异常处理:和日志集成 相关文章:
- ·异常处理:和日志集成
- 异常处理:和日志集成 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:AWT机器人Robot
精品推荐
热点TOP10
- ·JAVA教程 第五讲 AWT图形用户界面设计
- ·SP 短信开发-基础知识篇
- ·使用JAVAMAIL发邮件的一个例子(转)
- ·J2ME蓝牙程序开发实战入门
- ·用Java实现音频播放
- ·精通必学:Eclipse快捷键指南
- ·用Java实现SMTP服务器
- ·使用SimpleDateFormat必须注意的问题
- ·Java基础:你是否了解KVM的常量池
- ·关于EJB调用原理分析
- ·Java语言数据库操作的基本流程
- ·Leopard新问题 不能用最新版Java
- ·Sun:JavaFX Mobile和JavaFX Script
- ·Java EE6提案的两大主题:拓展性和概要
- ·Java会因为RoR的流行而过时吗?
- ·Java资料:Swing中的事件处理详细资料
- ·Java知识:Web应用下实现定时任务简便方法
- ·技巧:Java中用动态代理类实现记忆功能
- ·新手入门:写Java程序的三十个基本规则
- ·入门:Java初学者入门要注意的基础知识
特别推荐
- ·Java精华积累:初学者都应该搞懂的问题
- ·Java多媒体框架设计自动播放机实例详解
- ·如何有效防止Java程序源码被人偷窥?
- ·Cell插件在J2EE系统中的应用
- ·初学者想学Hibernate,初级基础教程
- ·Java语言实现支持视频点播的WEB服务器
- ·关于Java编程的中文问题的几条分析原则
- ·确保J2ME无线移动商业应用程序的安全性
- ·Java开源技术:Eclipse的使用技巧详解
- ·新手入门:Java中的修饰词使用方法总结
- ·JAVA开发者应该去的20个英文网站
- ·使用JDBC创建数据库访问程序
- ·JDK的命令详解
- ·Java学习从入门到精通(附FAQ)
- ·Tomcat性能调整
- ·JSF:Java中面向Web开发的生旦净末丑
- ·对Java语言入门初学者的一些建议
- ·Java技术的新方向
- ·Jive源代码研究
- ·谨慎使用Date和Time类
