1)为什么要进行异常处理呢?
为了提高系统的容错能力,让系统表现的更加友好
2)Spring MVC 中异常处理的方式?
即可使局部的,也可全局的
3)局部方式异常处理的方式?
Controller类中直接定义异常处理方法,使用 @ExceptionHandler进行修饰
4)全部方式异常处理如何实现?
通过继承将共性提取到父类,通过@ControllerAdvice注解修饰类,然后类中定义异常处理方法
5)出现异常后,异常处理的具体机制是怎样的?
首先会在当前 Controcller (包含父类) 中查找有没有定义异常处理方法,假如有,则查看注解中定义的一场类型是否与当前异常类型相匹配,假如有,则直接处理,没有时,则找全局异常处理.全局也没有则直接不友好的输出错误信息.
说明:实际项目中在 Controller 的方法中除了要对正确的业务数据进行封装之外,还会对异常信息进行封装(例如封装到JsonResult),然后转换为 json 格式的字符串,输出到客户端.