21、(2分) 以下哪个选项最适合描述Spring MVC中配置异常处理器的方式? A、在web.xml文件中配置error-page标签 B、在@ControllerAdvice注解的类中定义异常处理方法 C、在Controller方法中使用try-catch块捕获异常 D. Disatehrservlet置文件中配置ExcptonHandlerResover
时间: 2024-03-25 09:39:18 浏览: 10
选项B,在@ControllerAdvice注解的类中定义异常处理方法最适合描述Spring MVC中配置异常处理器的方式。@ControllerAdvice注解用于定义全局异常处理器,可以在其中定义处理特定异常的方法。在Spring MVC中,我们可以通过在@ControllerAdvice注解的类中定义异常处理方法来处理控制器层抛出的异常。例如,以下代码演示了如何使用@ControllerAdvice注解定义一个异常处理器:
```
@ControllerAdvice
public class MyExceptionHandler {
@ExceptionHandler(MyException.class)
public ModelAndView handleMyException(MyException ex) {
ModelAndView mav = new ModelAndView("error");
mav.addObject("message", ex.getMessage());
return mav;
}
}
```
在以上示例中,我们定义了一个MyExceptionHandler类,并使用@ExceptionHandler注解来定义handleMyException方法来处理MyException异常。在该方法中,我们创建了一个ModelAndView对象,并将错误消息添加到模型中,最终返回一个指定视图名称的ModelAndView对象。这样,当控制器层抛出MyException异常时,Spring MVC会自动调用该方法来处理异常,并返回指定的视图。选项A中的web.xml文件配置error-page标签可以用于定义全局错误页面,但是无法处理控制器层抛出的异常;选项C中在Controller方法中使用try-catch块捕获异常会导致代码冗余,不利于维护;选项D中Disatehrservlet置文件中配置ExcptonHandlerResover是错误的,应该为DispatcherServlet配置ExceptionHandlerExceptionResolver来处理异常。