95 lines
2.8 KiB
Java
95 lines
2.8 KiB
Java
package com.zcloud.util.examUntil;
|
||
|
||
/**
|
||
* 说明:TODO
|
||
* 作者:wangxuan
|
||
* 官网:www.zcloudchina.com
|
||
*/
|
||
|
||
|
||
import com.zcloud.util.ReturnMap;
|
||
import org.mybatis.spring.MyBatisSystemException;
|
||
import org.springframework.web.HttpRequestMethodNotSupportedException;
|
||
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||
import org.springframework.web.bind.annotation.ResponseBody;
|
||
import org.springframework.web.bind.annotation.RestControllerAdvice;
|
||
|
||
import javax.servlet.http.HttpServletRequest;
|
||
|
||
import static com.zcloud.util.examUntil.CodeMessageEnum.SERVER_BUSY;
|
||
|
||
|
||
/**
|
||
* 全局异常
|
||
*/
|
||
@RestControllerAdvice(annotations = {ErrorOperation.class})
|
||
//@Slf4j
|
||
public class GlobalExceptionHandler {
|
||
|
||
/**
|
||
* 业务异常类
|
||
*
|
||
*/
|
||
@ExceptionHandler(value = BizException.class)
|
||
@ResponseBody
|
||
public ReturnMap bizExceptionHandler(HttpServletRequest req, BizException e) {
|
||
e.printStackTrace();
|
||
// log.error("发生业务异常: {}, 请求接口: {}", e.getMessage(), req.getRequestURI());
|
||
return ReturnMap.error("2001" ,e.getMessage(), req.getRequestURI());
|
||
}
|
||
|
||
|
||
/**
|
||
* 空指针异常
|
||
*
|
||
* @param e 异常信息
|
||
* @param req 请求
|
||
*/
|
||
@ExceptionHandler(value = NullPointerException.class)
|
||
@ResponseBody
|
||
public ReturnMap exceptionHandler(HttpServletRequest req, NullPointerException e) {
|
||
e.printStackTrace();
|
||
// log.error("空指针异常信息: {}, 请求接口: {}", e, req.getRequestURI());
|
||
return ReturnMap.error(SERVER_BUSY, req.getRequestURI());
|
||
}
|
||
|
||
/**
|
||
* 接口请求方法异常
|
||
*
|
||
*/
|
||
@ExceptionHandler(value = HttpRequestMethodNotSupportedException.class)
|
||
@ResponseBody
|
||
public ReturnMap methodNotSupportedExceptionHandler(HttpServletRequest req, Exception e) {
|
||
e.printStackTrace();
|
||
// log.error("请求方法异常信息: {},请求接口: {}", e, req.getRequestURI());
|
||
return ReturnMap.error(SERVER_BUSY, req.getRequestURI());
|
||
}
|
||
|
||
/**
|
||
* SQL 语法错误异常
|
||
*/
|
||
@ExceptionHandler(value = MyBatisSystemException.class)
|
||
@ResponseBody
|
||
public ReturnMap sqlSyntaxErrorExceptionHandler(HttpServletRequest req, Exception e) {
|
||
e.printStackTrace();
|
||
// log.error("MyBatis系统异常信息: {},请求接口: {}", e, req.getRequestURI());
|
||
return ReturnMap.error(SERVER_BUSY, req.getRequestURI());
|
||
}
|
||
|
||
|
||
|
||
/**
|
||
* 其他异常信息
|
||
*
|
||
* @param req
|
||
* @param e
|
||
*/
|
||
@ExceptionHandler(value = Exception.class)
|
||
@ResponseBody
|
||
public ReturnMap exceptionHandler(HttpServletRequest req, Exception e) {
|
||
e.printStackTrace();
|
||
// log.error("未知异常: {}, 请求接口: {}", e, req.getRequestURI());
|
||
return ReturnMap.error(SERVER_BUSY, req.getRequestURI());
|
||
}
|
||
}
|