csdn上的插入图片功能不能用,不然把UML图给画出来。
第一种在每个模块中都有一个模块异常,程序只能抛出模块异常,对于EJB一定要抛出RemoteException事务才能回滚。Exception --> RemoteException -->BaseException -->modulAException,modulBException
第一种方式就像oracle处理异常的方式,抛出一个ora-0415错误,以id的方式抛出。
Exception -->RunTimeException -->BaseException -->BusiException(exceptionId),ViewException
两种异常处理各有优缺点,第一种方式比较罗嗦,但是对开发人员的要求比较低,容易掌握。第二种方式比较灵活,在程序中写上错误的ID,然后在配置文件或是其他地方配置ID的内容,但要对错误的ID进行约定,开发人员要熟悉每个ID的表示的意思。
Ø 系统级的异常是我们解决不了的不用捕获异常,表现层捕获的异常只是为了记录日志。Struts的异常处理类是ExceptionHandler.java(源代码),异常信息request放一次,session放一次。
Ø 目前项目组对于异常表现形式进行了改进:在实际中要远程登陆才能看到日志或是后台输出,由于不一定有用户可以远程登陆并且服务器集群有2个日志,以后可能有4个,日志中的错误记录信息太多无法辨认,给我们的错误定位带来了难度。现把抛出的异常信息输出的错误的页面Hidden,以后对错误的定位会更有效率。