roh*_*hit 7 spring struts dao data-access exception-handling
我使用Struts,Spring和Hibernate开发了一个应用程序.
我的DAO使用spring jdbc,并且它的所有方法都抛出DataAccessException(未选中).
我应该在哪里处理此例外情况?我知道这是一个未经检查的异常,但我想我需要告诉用户数据库或它的连接是否有问题.
我想我应该从我的服务类方法中重新抛出DataAccessException,以便被Controller捕获.这是一个好习惯吗?
我查看了Spring包中的示例,但未在域或服务区找到任何异常处理.离开dao区域后,似乎忽略了DataAccessException.
请为此事建议一个好的设计.
Tom*_*icz 13
离开dao区域后,似乎忽略了DataAccessException.
这是件好事!让它飞过整个堆栈.您可能在服务层上有事务 - 该异常将透明地导致回滚最外层事务.大!
现在它将找到通往控制器的方式.如果你在Struts控制器中捕获它,你可以返回不同的视图.但是很可能你不想在每个Struts动作中处理异常.所以让异常更进一步.在某些时候,Struts将捕获该异常并尝试处理它.Struts有一些复杂的错误处理机制,你会发现很多关于它们的信息.通常,它会根据异常类型调用一些自定义操作或错误屏幕.
最后,如果Struts无法处理异常,它将被重新抛入容器,导致HTTP 503返回异常详细信息.
正如您所看到的,您可以在很多级别上控制异常,通常越低越好.
| 归档时间: |
|
| 查看次数: |
10028 次 |
| 最近记录: |