当前位置:编程学习 > JAVA >>

在分层的情况下,异常应该在哪个层进行处理?

如题,求高手具体说明一下 --------------------编程问答-------------------- 业务逻辑层。 --------------------编程问答--------------------
引用 1 楼  的回复:
业务逻辑层。

同意,你的dao层就throws异常就行 --------------------编程问答-------------------- MVC的C层 
action层? --------------------编程问答-------------------- 主要在后台处理。

个别简单的异常也可以在前台直接处理。 --------------------编程问答-------------------- 異常在哪個層處理有什麽關係嗎?
View層按理最少或不拋異常 --------------------编程问答-------------------- 问题不大,统一就好。我一般在底层截获异常存入log中。不想上抛 --------------------编程问答-------------------- 一般都是dao层吧、 --------------------编程问答-------------------- Dao Service层只要throws就好了,控制场做try catch操作。
能处理的尽量自己去处理掉,不能处理的话前台给与友好提示。 --------------------编程问答--------------------
引用 8 楼  的回复:
Dao Service层只要throws就好了,控制场做try catch操作。
能处理的尽量自己去处理掉,不能处理的话前台给与友好提示。

+1
还有记录日志 --------------------编程问答-------------------- 听哥的,在dao层要throws出去,不要用try--catch,因为你的事务是在service层(业务逻辑层)进行拦截的,你dao层就try--catch自己处理了,等于把异常给内销了,在service层配置的事务就起不到作用了,so一般在service层进行try--catch处理。当然,若你在dao层进行try--catch,那么就在catch中throw一下往上层抛异常,也是可以滴! --------------------编程问答-------------------- 看你要不要反馈给页面了,处理数据库的直接在DAO就可以,要是处理逻辑的异常,要反馈到页面的就要在Action捕获,并返回提示 --------------------编程问答-------------------- action层。。。 --------------------编程问答--------------------  A 层 S层 --------------------编程问答-------------------- 在抛出异常的层 --------------------编程问答-------------------- 火星了,大家分层都形成标准,产生默契了! --------------------编程问答-------------------- 别再dao层处理掉了,记得上抛 --------------------编程问答-------------------- 异常要分类, 有预期的异常,如验证异常 和非预期的异常, 比如连接不上数据库。

异常是否捕捉与你的期望有关, 如果要处理, 就捕捉, 不用处理就不处理。 所以有种观点, 异常应该都是RuntimeException。

常用的处理方法是预期的异常显示特定的消息 , 非预期的异常直接显示异常页面, 错误信息记入日志中, 供分析使用。
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,