🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
全局异常可以捕捉整个 Web 项目的异常并进行处理,需要在`springmvc-servlet.xml`文件中进行 SimpleMappingExceptionResolver 的配置,它会在发生异常时使用对应的视图来报告异常。 <br/> 配置步骤如下: **1. 在`resources/springmvc-servlet.xml`配置SimpleMappingExceptionResolver** ```xml <!-- 全局异常配置 --> <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> <!-- 只要异常类型是ArrayIndexOutOfBoundsException或者它的子类就会被处理,如果需要处理多种类型的异常,请配置多个<prop /> key: 异常类型,可以是自定义的异常类 outerror: 视图名,当key指定的异常发生时,由该视图进行显示 --> <prop key="java.lang.ArrayIndexOutOfBoundsException">outerror</prop> </props> </property> </bean> ``` **2. 在controller层发生数组下标越界异常** ```java @RequestMapping("/v6/get/student") public String getStudent06() { int[] ints = new int[1]; ints[0] = 100; ints[1] = 200; return "student"; } ``` **3. 视图层显示异常信息** `webapp/WEB-INF/views/outerror.jsp` ```html <h1>---${ ex }---</h1> ``` **4. 测试** 启动项目访问 http://localhost:8080/mvc/v6/get/student ,前端将会看到如下信息。 ``` ---java.lang.ArrayIndexOutOfBoundsException: 1--- ``` <br/> 局部异常和全局异常共同使用,则局部异常优先,所以想要全局异常生效,最好不要使用局部异常。