在项目开发中各层中都会不可避免的遇到各种可预知和不可预知的异常需要处理,为只专注业务逻辑的实现,需要将异常信息进行统一管理维护处理。
springmvc就是将异常层层向外抛出,最后由springmvc的前端控制器调用异常处理组件HandlerExceptionResolver(处理器异常解析器)进行处理
throw是定义在方法体中,明确的是要抛出什么异常信息
throws用在方法体上,用于声明抛出异常,交由上层调用者处理,也有可能没有异常
org.springframework.web.servlet.HandlerExceptionResolver(处理器异常解析器)只是一个接口,需要自己继承并实现
只需要在springmvc核心配置文件中将这个自定义的类配置进去就可以了,它继承了HandlerExceptionResolver,所以springmvc可以自动加载这个自定义的组件。
在开发中可以使用Java的异常机制进行一些特殊业务的限制,比如秒杀限购,取款余额不足中断提示等等,一旦捕获到这个自定义的异常类,可做对应的业务违规提示。
自定义异常需要实现java.lang.Exception,这样自定义的异常就具有可抛性,
- 写在最后:这只是一个很简单的笔记并没有深入,仅做个人参考,实际项目中的业务逻辑肯定比这复杂的多,需要结合自己的实际需求进行修改