日志和异常处理就像是一个模子刻出来的一样。当你的Java代码中出现问题时,这通常意味着你有了异常需要处理,当然,任何时候当错误或意外事件发生里,那么此事件应该适当地记录下来。
一旦在Java中执行异常处理,实际上有开发人员在处理里有两个选择:
1.当异常从错误中抛出或恢复时,伴随着它的发展,处理它
2.重新抛出异常,那么应用程序的另一部分就可以处理此问题
在分层的应用程序,2这个选择是相当常见的,通常在执行堆栈的顶部只有一个层,是专门为了任务性理和从异常恢复而设计的。因此看分层应用不断地生重抛出异常,一直到它们充满到了顶部,这是很常见的。这是一个非常有效的策略。
然而,开发人员最常犯的错误是在异常抛出之前进行日志记录。这种做法必须被视为反模式的最高位。
异常应该在处理之后记录,而且只能是在他们处理之后。毫无疑问,在每一个catch块中记录异常的工作都是要有目的的,但是这样做会使得追踪异常和解决问题成为真正的恶梦。异常最终会在多个层中被多次记录,而且当质量工程师通过日志文件开始追踪时,他们会有一个艰难的经历,故障检修人员不知道从哪里下手,也不知道什么进修才能完成。
问题很大,但它很容易解决。解决方法是?要习惯当异常解决以后再记录。把异常日志放到一个地方、一个文件放在应用程序的一个层上。这会使得企业应用轻松找到故障,也会使这些问题容易维护。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
内存数据网格提供商一头扎进Java
10年的时间里,应用性能解决方案提供商Alachisoft一直在用NCache(针对N-Tier和网格计算.NET应用的内存计算和数据网格产品)为.NET社区服务。
-
遇到这样一个问题:通过java service wrapper部署应用,wrapper进程占用的内存会一直升高, 直到把内存吃完应用崩溃,但是这个wrapper
遇到这样一个问题:通过java service wrapper部署应用,wrapper进程占用的内存会一直升高 […]
-
Google App Engine for Java 对于目前中国需要学习吗?
-
前无古人后无来者的Java平台
开发人员一直在致力于保持Java的活力,经过20年后,我们感觉从来没有更好的、更令人激动的时刻如同Java社区一样。