springboot 全局异常处理
1、自定义异常
package com.gaojiashun.exception;
import com.gaojiashun.enums.AppHttpCodeEnum;
public class SysException extends RuntimeException{
private int code;
private String msg;
public int getCode() {
return this.code;
}
public String getMsg() {
return msg;
}
public SysException(AppHttpCodeEnum appHttpCodeEnum){
super(appHttpCodeEnum.getMsg());
this.code=appHttpCodeEnum.getCode();
this.msg=appHttpCodeEnum.getMsg();
}
}
2、全局异常处理
package com.gaojiashun.handler.exception;
import com.gaojiashun.entitys.ResponseResult;
import com.gaojiashun.enums.AppHttpCodeEnum;
import com.gaojiashun.exception.SysException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
@Slf4j
@RestControllerAdvice
public class GlobalExceptionHandler {
/**
* sysException异常处理器
* @param e
* @return
*/
@ExceptionHandler(SysException.class)
public ResponseResult sysExceptionHandler(SysException e){
log.error("出现了异常! {}",e);
return ResponseResult.errorResult(e.getCode(),e.getMsg());
}
/**
* 其他异常处理
* @param e
* @return
*/
@ExceptionHandler(Exception.class)
public ResponseResult exceptionHandler(Exception e){
log.error("出现了异常! {}",e);
return ResponseResult.errorResult(AppHttpCodeEnum.SYSTEM_ERROR.getCode(),e.getMessage());
}
}
本文介绍了SpringBoot中如何实现全局异常处理,包括自定义异常类和设置全局异常处理器,确保应用能统一、优雅地捕获和处理各种可能出现的异常情况。
1022

被折叠的 条评论
为什么被折叠?



