面试题答案
一键面试- 实现步骤:
- 创建全局异常处理器类:定义一个类,用于处理项目中的异常。
- 添加异常处理方法:在类中编写方法来处理特定类型的异常,如业务逻辑异常。
- 配置异常处理器:通过Spring的配置机制,使该处理器生效。
- 关键注解和类:
- @ControllerAdvice:该注解用于定义全局异常处理器,标识一个类可以处理多个Controller中的异常。
- @ExceptionHandler:在全局异常处理器类中,使用该注解来指定处理特定类型异常的方法。例如,定义一个处理业务逻辑异常的方法:
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.servlet.ModelAndView;
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(BusinessLogicException.class)
public ModelAndView handleBusinessLogicException(BusinessLogicException ex) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("errorMessage", ex.getMessage());
modelAndView.setViewName("errorPage");
return modelAndView;
}
}
这里假设BusinessLogicException
是自定义的业务逻辑异常类,errorPage
是错误页面视图。当业务逻辑层抛出BusinessLogicException
异常时,就会被这个全局异常处理器捕获并处理。