10.4.3 业务逻辑组件的异常处理
10.4.3 业务逻辑组件的异常处理
Spring
的异常处理哲学简化了异常的处理:所有的数据库访问异常都被包装成了Runtime
异常,在DAO
组件中无须显式捕捉异常,所有的异常都被推迟到业务逻辑组件中捕捉。
在业务逻辑组件中捕捉系统抛出的原始异常,这种原始异常不应该被客户端看到,甚至不应该在服务器端暴露出来。为了达到这个目的,可以使用log4j
的日志功能:系统使用log4j
记录业务逻辑方法中原始的异常信息,然后再抛出自定义异常。下面是本系统中自定义异常类的代码。
1 | package org.crazyit.auction.exception; |
系统业务逻辑方法采用如下方式来处理逻辑。
1 | try |
业务层抛出的业务异常会传播到控制器层,而控制器则负责将该异常封装成JSON
数据响应传给浏览器端的JS脚本。