全局异常处理器代码如何使用
时间: 2024-04-13 07:28:48 浏览: 177
要使用全局异常处理器代码,请按照以下步骤进行操作:
1. 创建一个类,并使用 `@ControllerAdvice` 注解标记该类为全局异常处理器。
```java
@ControllerAdvice
public class GlobalExceptionHandler {
// 异常处理方法
}
```
2. 在该类中定义异常处理方法,使用 `@ExceptionHandler` 注解指定要处理的异常类型。
```java
@ExceptionHandler(Exception.class)
public ResponseEntity<?> handleException(Exception ex) {
// 异常处理逻辑
}
```
在上述示例中,我们使用 `@ExceptionHandler(Exception.class)` 注解来指定要处理的异常类型为 `Exception`,这表示该方法将处理所有未被其他特定异常处理方法捕获的异常。
3. 在处理方法中编写相应的异常处理逻辑。您可以根据实际需求进行自定义,例如返回自定义的错误信息、设置不同的 HTTP 状态码等。
```java
@ExceptionHandler(Exception.class)
public ResponseEntity<?> handleException(Exception ex) {
String errorMessage = "发生了一个错误,请稍后再试";
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(errorMessage);
}
```
在上述示例中,我们返回了一个包含自定义错误信息的响应实体,并设置了 HTTP 状态码为 500 内部服务器错误。
4. 您可以添加多个异常处理方法,以处理不同类型的异常。
```java
@ExceptionHandler(NullPointerException.class)
public ResponseEntity<?> handleNullPointerException(NullPointerException ex) {
String errorMessage = "发生了空指针异常";
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(errorMessage);
}
```
在上述示例中,我们添加了一个处理 `NullPointerException` 的异常处理方法,并返回相应的错误信息和 HTTP 状态码。
5. 最后,您需要确保全局异常处理器类被正确扫描到,并且在应用程序中生效。可以通过包扫描或显式配置来实现。
现在,当应用程序中抛出指定的异常时,全局异常处理器将会捕获并执行相应的处理方法,返回自定义的错误信息和 HTTP 状态码。请根据您的实际需求进行适当的异常处理逻辑编写。
阅读全文