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

2016-02-19 20:28 2 1 收藏

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐高手为你解读J2EE开发过程中的异常处理,希望大家看完后也有个好心情,快快行动吧!

【 tulaoshi.com - 编程语言 】

 

在java里有3种异常类型:

1.检查型异常,这样的异常继承于Excetpion,就是在编译期间需要检查,如果该异常被throw,那么在该异常所在的method后必须显示的throws,调用该method的地方也必须捕获该异常,否则编译器会抛出异常.ejb里的RemoteException是一个这样的异常.

2.运行时异常,就是在运行期间系统出现的异常,该类异常继承于RuntimeException,该类异常在编译时系统不进行检查,如NullPointerExcetpion,NumberFormatException.

3.系统错误,一般是JVM出现异常时抛出的异常,如OutofMemoryError,这样的异常在J2EE开发中是不用关心的.

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

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

1.应用程序级错误,这些错误是由客户自身的原因引起的,比如输入信息有误,没有操作该功能的权限.对于这样情况,系统应给用户一个明确的提示.

2.系统级异常,比如”未连接到服务器”,”服务器忙”,”未连接到数据库”,”系统错误”,这样的错误给客户带来的后果是不能进行操作,那么下面的戏该由系统管理员和系统开发者去演了.

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1623781.html

延伸阅读
多数IT 组织都必须解决三个主要问题:1.帮助组织减少成本 2.增加并且保持客户 3.加快业务效率。完成这些问题一般都需要实现对多个业务系统的数据和业务逻辑的无缝访问,也就是说,要实施系统集成工程,以便联结业务流程、实现数据的访问与共享。 JpetStore 4.0是ibatis的最新示例程序,基于Struts MVC框架(注:非传统Struts开发模式...
JBoss推出的Eclipse IDE开发工具越来越强大,当初刚刚推出来时,因为其内置xdoclet功能被人看好,和Lomboz整合在一起开发J2EE,可是,Lomoz不是那么好安装的,至少我自己安装5次成功2次。 同时,JBoss的Eclipse IDE功能走向齐全,比较成熟完备,只需要JBoss的Eclipse IDE就可以,不必需要Lomboz了,我们开发一个J2EE应用程序完全...
1. 安装 可以从以下网址下载一个J2EE(j2sdkee-1_3-beta2-win.exe):http://Java.sun.com/j2ee/j2sdkee-beta/index.Html。也许你已装了旧版的J2EE SDK 产品,假如是,在安装新下载的J2EE之前请先卸载或删掉旧版的J2EE SDK。运行j2sdkee-1_3-beta2-win.exe,按安装步骤安装好J2EE。这里假设你的J2EE安装在:C:j2sdkee1.3 目录下。 ...
根据要求,写了一篇。我以Windows 为例。 谁能写一个Linux版本的,谢谢。 其实安装他们都很简单,先到 Sun网站或其它网站下载了 J2SE 和 J2EE RI 这两个文件。 下载后,先安装J2SE。 1。双击下载文件,自动解压后安装开始,在选择路径时,我推荐别用它给出的,自己设置一个, 如:我有C,D,E,H,L盘。我就把J2SE 放...
基本servlet设计 我们使用标准JDBC调用来构建我们的servlet,通过DB2 Information Integrator和本地客户端接口(无DB2 Information Integrator)访问数据。只要有可能,我们就使用DataSource连接(连接池),这样能够更有效的利用系统资源。更进一步,我们通过执行JNDI在每个servlet的init方法中查找DataSource,设法维护编码效率。 ...

经验教程

27

收藏

11
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部