全局异常处理器的简单实现

入门案例:

@Slf4j
@RestControllerAdvice(annotations = {RestController.class, Controller.class})
public class GlobalExceptionHandler {
    //java.sql.SQLIntegrityConstraintViolationException:
    // Duplicate entry 'lisi' for key 'idx_username'

    @ExceptionHandler(SQLIntegrityConstraintViolationException.class)
    public R<String> ExceptionHandler(SQLIntegrityConstraintViolationException ex){
        log.error(ex.getMessage());
        if (ex.getMessage().contains("Duplicate entry")){
            String[] split = ex.getMessage().split(" ");
            String msg = "账号" + split[2] + "已存在";
            return R.error(msg);
        }
        return R.error("未知错误!");
    }
}
posted @ 2023-01-16 16:20  九落  阅读(38)  评论(0)    收藏  举报