7.11 SpringBoot实战 全局异常处理 - 深入细节详解
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
@ControllerAdvice
public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {
// 定义一个通用的异常处理方法
@ExceptionHandler(Exception.class)
@ResponseBody
public ResponseEntity<String> handleException(Exception e) {
// 这里可以记录日志,或者进行更复杂的异常处理
// 返回500内部服务器错误状态码和异常信息
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(e.getMessage());
}
// 可以添加更多的异常处理方法,针对不同的异常类型进行处理
}
这个代码示例展示了如何在Spring Boot应用中创建一个全局异常处理器。通过@ControllerAdvice
注解,这个类会捕获控制器抛出的所有异常。handleException
方法是一个通用的异常处理方法,它捕获所有Exception
类型的异常,并返回一个包含异常信息的ResponseEntity
对象。这个例子简单明了,并且可以根据实际需求进行扩展和定制。
评论已关闭