使用springboot开发的全局异常代码
时间: 2024-04-29 13:24:21 浏览: 91
在Spring Boot中,我们可以使用@ControllerAdvice注解来定义全局异常处理器。以下是一个使用@ControllerAdvice注解的示例代码:
```
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ResponseEntity<ErrorResponse> handleException(Exception ex) {
ErrorResponse error = new ErrorResponse(HttpStatus.INTERNAL_SERVER_ERROR.value(), ex.getMessage());
return new ResponseEntity<>(error, HttpStatus.INTERNAL_SERVER_ERROR);
}
@ExceptionHandler(NotFoundException.class)
public ResponseEntity<ErrorResponse> handleNotFoundException(NotFoundException ex) {
ErrorResponse error = new ErrorResponse(HttpStatus.NOT_FOUND.value(), ex.getMessage());
return new ResponseEntity<>(error, HttpStatus.NOT_FOUND);
}
}
```
在上面的代码中,我们定义了一个名为GlobalExceptionHandler的类,并使用@ControllerAdvice注解进行标注。该类中定义了两个异常处理方法,分别处理Exception和NotFoundException异常。
在处理异常时,我们创建了一个ErrorResponse对象,将异常的HTTP状态码和错误消息设置到该对象中,并使用ResponseEntity将ErrorResponse对象和HTTP状态码一起返回给客户端。
需要注意的是,我们可以根据需要定义多个异常处理方法,每个方法处理不同类型的异常。在实际的应用中,我们应该根据具体的业务需求来定义异常处理方法。
阅读全文