java全局异常控制怎么自定义返回编码
时间: 2024-05-05 13:17:22 浏览: 112
Java如何实现自定义异常类
5星 · 资源好评率100%
Java全局异常控制可以通过自定义异常处理器来实现自定义返回编码。具体步骤如下:
1. 自定义异常类,继承自Exception或RuntimeException类。
2. 在异常类中定义自己的返回编码,例如:
```
public class MyException extends RuntimeException {
private String code;
public MyException(String code, String message) {
super(message);
this.code = code;
}
public String getCode() {
return code;
}
}
```
3. 定义全局异常处理器,实现ExceptionHandler接口,并在类上加上@ControllerAdvice注解。
4. 在全局异常处理器中编写异常处理方法,对不同的异常类型进行处理,并根据异常类型抛出自定义的异常,例如:
```
@ControllerAdvice
public class GlobalExceptionHandler implements ExceptionHandler<Exception> {
@Override
public ResponseEntity<Object> handleException(Exception ex) {
if (ex instanceof NullPointerException) {
throw new MyException("001", "空指针异常");
} else if (ex instanceof IllegalArgumentException) {
throw new MyException("002", "参数异常");
} else {
throw new MyException("999", "系统异常");
}
}
@ExceptionHandler(MyException.class)
public ResponseEntity<Object> handleMyException(MyException ex) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new ErrorResponse(ex.getCode(), ex.getMessage()));
}
}
```
5. 在自定义异常类中定义返回给客户端的错误信息,例如:
```
public class ErrorResponse {
private String code;
private String message;
public ErrorResponse(String code, String message) {
this.code = code;
this.message = message;
}
public String getCode() {
return code;
}
public String getMessage() {
return message;
}
}
```
6. 客户端在接收到异常响应时,根据返回的错误码进行相应的处理。
阅读全文