高手为你解读J2EE开发过程中的异常处理

翻译|其它|编辑:郝浩|2007-12-07 11:53:31.000|阅读 744 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

在 Java 里有3种异常类型:

  • 检查型异常,这样的异常继承于 Excetpion,就是在编译期间需要检查,如果该异常被 throw,那么在该异常所在的 method 后必须显示的 throws,调用该 method 的地方也必须捕获该异常,否则编译器会抛出异常.EJB 里的 RemoteException 是一个这样的异常.
  • 运行时异常,就是在运行期间系统出现的异常,该类异常继承于 RuntimeException,该类异常在编译时系统不进行检查,如 NullPointerExcetpion,NumberFormatException.
  • 系统错误,一般是 JVM 出现异常时抛出的异常,如 OutofMemoryError,这样的异常在 J2EE 开发中是不用关心的.

       在 J2EE 开发中,检查型异常被滥用以至于过一段时间程序员自己都看不懂抛出这样的异常,.里面封装的这些错误信息是干什么用的,更可怕的是有好多有用的信息找不到了.比如 SQLException 和 RemoteException 这样的异常我们没必要再进行封装,这样的异常只对我们调试程序有用,而对客户来说它就是一个”系统错误”而已.异常处理有一个简单的原则,你什么时候需要封装自己的检查型异常?就是你很清楚自己抛出这个异常的用途时,比如用户输入用户名和密码要登录,但用户名和密码不匹配,你就要定义一个检查型异常,客户端通过捕获该异常,然后把相应的错误信息反馈给客户.而其它的自己未预期的错误或者异常比如 SQLException,只需封装到 EJBException 中,ejb container 会把它的信息追加到 RemoteException 里,这样客户端捕获 RemoteException 后把它写到系统日志里,就很容易进行调试.

关于错误代码,一般反馈给客户的错误代码有两种类型:

  • 应用程序级错误,这些错误是由客户自身的原因引起的,比如输入信息有误,没有操作该功能的权限.对于这样情况,系统应给用户一个明确的提示.
  • 系统级异常,比如”未连接到服务器”,”服务器忙”,”未连接到数据库”,”系统错误”,这样的错误给客户带来的后果是不能进行操作,那么下面的戏该由系统管理员和系统开发者去演了.

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:网页教学网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP