优先级blog
既然在SpringMVC中有两种处理异常的方式,那么就存在一个优先级的问题:get
当发生异常的时候,SpringMVC会以下处理:it
(1)SpringMVC会先从配置文件找异常解析器HandlerExceptionResolverio
(2)若是找到了异常异常解析器,那么接下来就会判断该异常解析器可否处理当前发生的异常配置
(3)若是能够处理的话,那么就进行处理,而后给前台返回对应的异常视图im
(4)若是没有找到对应的异常解析器或者是找到的异常解析器不能处理当前的异常的时候,就看当前的Controller中有没有提供对应的异常处理器,若是提供了就由Controller本身进行处理并返回对应的视图配置文件
(5)若是配置文件里面没有定义对应的异常解析器,而当前Controller中也没有定义的话,那么该异常就会被抛出来。异常