网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  高效处理java异常的两种方法     
  文章作者:未知  文章来源:水木森林  
  查看:77次  录入:管理员--2007-11-17  
 
作者: builder.com

按照java语言的定义,所谓异常(exception)指的就是向调用方法(calling method)表示发生非正常情况的习惯方式。本文讨论两种在处理异常时可兹利用的技术:异常嵌套和捕获适当的异常。

异常嵌套

你在试图捕获异常并打算扔出异常时该采取什么措施呢?同时,你希望原始的异常信息可用吗?

要回答以上的问题你不妨尝试一下nestedexception类。具体的编程并不难,唯一要做的无非是利用构造器并且重载printstacktrace()以便显示出正确的数据。

此外,你还应当考虑封装throwable而非exception类来创建更具有重用性的组件。之后,你可以创建nestedruntimeexception变量封装throwable但无需对其进行声明。清单a显示了完整的示例。

捕获适当的异常
正确地处理异常并不是一项轻松的任务,这是因为异常的处理有时会导致程序出现其他不明行为。不过,以下三条规则可以帮助你避免错误处理异常所可能遭遇的风险。

规则 #1: 总是捕获扔出异常的类型而不要理睬异常的超类。 清单b中的代码片断以示例的方式从错误编码和正确编码两个角度进行了说明。

为了遵守通常的代码习惯,你可以采用exception类的大写字母作为变量名,如下所示:
catch(filenotfoundexception fnfe)

以及
catch(sqlexception sqle)

规则 # 2: 决不让catch块留空。在很多情况下虽然确实编写了try/catch块但在代码的catch部分却什么都没有做。或者,如果采用了日志api(logging api),那么请编写代码把异常写到日志中。

清单c 显示了以上编码的错误方式和正确方式。

规则 # 3: 决不扔出exception基类的实例。开发人员应当总是扔出自己创建的异常类。

扔出异常的api很难处理。在声明方法扔出java.lang.exception的情况下,清单a中所有的问题都会强加在api用户的头上,这样他们就无法以一种专业的编程方式来处理异常。通过为扔出api声明exception类的子类这一举措,api开发人员就可以减轻用户的负担。

小结
以上提到的两种技术在处理异常时还可能用得更好、更适当。嵌套技术令异常扔到另一异常的内部,而捕获适当的异常令程序调试大大简化。
 
 
上一篇: 关于db2使用java在aix(存储过程)和中文windows编程中的中文问题    下一篇: 关于窗口的操作详谈
  相关文档
jdbc基础教程之连接 11-16
关注性能:改进您的开发过程 11-17
从xml到java的数据绑定之三 11-17
java的quoted-printable解码器源代码 11-16
情人碰面的问题:java代码概述 11-17
soap协议初级指南 11-17
turbine howto 之 service 11-17
初始化基础类 11-17
tomcat3.1的安装与配置简要介绍 11-17
maven2.0:编译、测试、部署、运行 11-17
编程中的一些共同的问题 11-17
struts 中bean:present使用方法 11-17
java经验点滴:类注释文档编写方法 11-16
内部类可以覆盖吗? 11-17
一篇不错的介绍java socket编程的文章 11-17
中国农历二百年算法及年历程序分析二 11-17
初探.net中的delegate类型与.net事件 11-17
从java编码中截取给定宽度中英文字符串 11-16
singleton设计模式简单介绍 11-17
printscreen读取位图转为jpeg格式输出 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息