Java全局异常处理
全局异常处理是一种将异常处理代码从业务逻辑中分离出来的技术。
在Java中,全局异常处理使用@ControllerAdvice注解定义一个全局的异常处理类。
在该类中,使用@ExceptionHandler注解捕获异常并进行处理。
使用全局异常处理技术,可以统一处理异常,提高代码的复用性,降低代码的冗余度。
步骤
1. 定义自定义异常类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| package com.jiahe.api.exception;
import lombok.Getter;
public abstract class BaseException extends RuntimeException {
@Getter private final String code;
@Getter private final String message;
@Getter private final Object error;
public BaseException(String code, String message, Object error) { this.code = code; this.message = message; this.error = error; }
public BaseException(String code, String message) { this.code = code; this.message = message; this.error = null; }
public BaseException(String message) { this.code = null; this.message = message; this.error = null; } }
|
2. 定义全局异常处理类
定义全局异常处理类需要使用@ControllerAdvice注解。
在该类中,使用@ExceptionHandler注解捕获异常并进行处理。