应用中的异常处理(业务异常,非业务异常)

1.业务异常:指正常的业务处理时,由于某些业务的特殊要求而导致处理不能继续所抛出的异常。

   处理原则:在业务层或者业务的处理方法中抛出异常,在表示层中拦截异常,以友好的方式反馈给操作者,以便可以依据提示信息正确的完成任务功能的处理。

2.非业务异常:非正常工作情况下所产生的异常。

处理原则:在应用的框架中同意拦截和处理,在开发中不需要进行任何处理。

3.。业务异常的设计。

1)结构上划分为3个层次。第一层:异常基类。第二层:功能层或者模块层。第三层:业务异常层。

2)基类的构建:通常会定义一个继承自RuntimeException的基类,这样对于业务异常就可以在运行时由系统的框架进行捕获。接着为每个 层次定义一个基类,最后为每个业务异常定义一个业务对象。另外为了减少异常对象的数量,在这一层也可以采用错误代码的设计方式,使得顶层的拦截程序可以依 据错误代码来得到相应的错误信息。

4.在servlet容器里处理异常。

1)配置web.xml捕获异常。

<error-page>

     <error-code>404</error-code>

     <location>/error.jsp</location>

</error-page>

<error-page>

     <exception-type>javax.servlet.ServletException</exception-type>

     <location>/error.jsp</location>

</error-page>

2)在jsp页面中使用errorPage属性进行拦截。

5.struts的异常处理机制。

1)异常的配置,

配置<exception/>。属性介绍

type:指定被处理的异常类。

handler:指定异常处理类。默认org.apache.struts.action.ExcetionHandler,可以进行扩展。

path:指定捕获异常并进行处理后返回的地址,可以是页面,也可以是某个action。

key:指定错误消息的key。

bundle:错误信息绑定的资源文件。

scope:指定ActionMessage对象存放的范围。默认是request,也可以是session。

方式介绍

全局:在<global-exception><exception/> </global-exception>中配置。

局部:在<action><exception/> </action>中配置

2)异常信息的显示

方法和错误信息的显示相同。<html:errors></html:errors>

3)定义自己的异常处理类

继承ExceptionHandler,实现自己的异常处理类。

覆盖execute()方法,实现自己的异常处理方法。

将<exception/>元素中的handler属性配置为自定义的异常处理类。

6.利用扩展Action处理异常。

覆盖execute()方法。在异常捕获中实现自己的处理异常的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值