SpringMVC——SSM整合-异常处理器
异常处理器
出现异常的常见位置与常见诱因:
- 框架内部抛出的异常:因使用不合规导致
- 数据层抛出异常:因外部服务器故障导致(例如:服务器访问超时)
- 业务层抛出的异常:因业务逻辑书写错误导致(例如:遍历业务书写操作,导致索引异常等)
- 表现层抛出的异常:因数据收集、校验等规则导致(例如:不匹配的数据类型间导致的异常)
- 工具类抛出的异常:因工具类书写不严谨不够健壮导致(例如:必要释放的连接长期未释放等)
问题:各个层级均出现异常,异常处理代码该书写在哪一层?
- ——所有异常均抛出到表现层进行处理
表现层处理异常,每个方法中单独书写,代码书写量巨大且意义不强,如何解决——AOP思想(面向切面编程)
SpringMVC提供了对应的异常处理器
异常处理器
集中的、统一的处理项目中出现的异常
(可以放入controller包下,Spring统一加载)
package com.cqupt.controller;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
@RestControllerAdvice
public class ProjectExceptionAdvice {
@ExceptionHandler(Exception.class)
public void doException(Exception ex){
System.out.println("出异常了!");
}
}