在Spring Boot中,可以通过自定义异常处理器来捕获错误并对其进行处理。以下是一种常见的实现方式:
CustomException
,继承自RuntimeException
或其子类。public class CustomException extends RuntimeException {
// 自定义异常的构造方法
public CustomException(String message) {
super(message);
}
}
GlobalExceptionHandler
,实现ErrorController
接口,并使用@ControllerAdvice
注解进行标记。@ControllerAdvice
public class GlobalExceptionHandler implements ErrorController {
@ExceptionHandler(CustomException.class)
public ModelAndView handleCustomException(HttpServletRequest request, CustomException ex) {
// 处理自定义异常
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("message", ex.getMessage());
modelAndView.setViewName("error");
return modelAndView;
}
@Override
public String getErrorPath() {
return "/error";
}
}
application.properties
或application.yml
配置文件中,设置错误页面的路径。spring:
mvc:
view:
prefix: /WEB-INF/views/
suffix: .html
error.html
页面,用于显示错误信息。<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Error</title>
</head>
<body>
<h1>Error</h1>
<p th:text="${message}"></p>
</body>
</html>
通过以上步骤,当发生CustomException
异常时,会被GlobalExceptionHandler
捕获并处理,然后跳转到error.html
页面显示错误信息。
在Spring Boot中,还可以通过其他方式实现错误处理,例如使用@ControllerAdvice
注解结合@ExceptionHandler
注解处理特定异常,或者使用@ControllerAdvice
注解结合@ResponseStatus
注解返回特定的HTTP状态码等。具体选择哪种方式取决于实际需求和项目架构。
领取专属 10元无门槛券
手把手带您无忧上云