|
@@ -3,6 +3,8 @@ package com.qmth.themis.common.exception;
|
|
import com.qmth.themis.common.enums.ExceptionResultEnum;
|
|
import com.qmth.themis.common.enums.ExceptionResultEnum;
|
|
import com.qmth.themis.common.util.Result;
|
|
import com.qmth.themis.common.util.Result;
|
|
import com.qmth.themis.common.util.ResultUtil;
|
|
import com.qmth.themis.common.util.ResultUtil;
|
|
|
|
+import org.slf4j.Logger;
|
|
|
|
+import org.slf4j.LoggerFactory;
|
|
import org.springframework.web.bind.annotation.ControllerAdvice;
|
|
import org.springframework.web.bind.annotation.ControllerAdvice;
|
|
import org.springframework.web.bind.annotation.ExceptionHandler;
|
|
import org.springframework.web.bind.annotation.ExceptionHandler;
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
@@ -20,6 +22,7 @@ import java.sql.SQLException;
|
|
*/
|
|
*/
|
|
@ControllerAdvice
|
|
@ControllerAdvice
|
|
public class GlobalDefultExceptionHandler {
|
|
public class GlobalDefultExceptionHandler {
|
|
|
|
+ private final static Logger log = LoggerFactory.getLogger(GlobalDefultExceptionHandler.class);
|
|
|
|
|
|
/**
|
|
/**
|
|
* excetion异常处理
|
|
* excetion异常处理
|
|
@@ -36,14 +39,17 @@ public class GlobalDefultExceptionHandler {
|
|
if (e instanceof BusinessException) {
|
|
if (e instanceof BusinessException) {
|
|
BusinessException businessException = (BusinessException) e;
|
|
BusinessException businessException = (BusinessException) e;
|
|
response.setStatus(businessException.getStatusCode());
|
|
response.setStatus(businessException.getStatusCode());
|
|
|
|
+ log.error("statusCode:{}\ncode:{}\nmessage:{}\nexception:{}", businessException.getStatusCode(), businessException.getCode(), e.getMessage(), e.getStackTrace());
|
|
return ResultUtil.error(businessException.getCode(), businessException.getMessage());
|
|
return ResultUtil.error(businessException.getCode(), businessException.getMessage());
|
|
} else if (e instanceof IllegalArgumentException) {
|
|
} else if (e instanceof IllegalArgumentException) {
|
|
response.setStatus(ExceptionResultEnum.EXCEPTION_ERROR.getStatusCode());
|
|
response.setStatus(ExceptionResultEnum.EXCEPTION_ERROR.getStatusCode());
|
|
|
|
+ log.error("statusCode:{}\ncode:{}\nmessage:{}\nexception:{}", ExceptionResultEnum.EXCEPTION_ERROR.getStatusCode(), ExceptionResultEnum.EXCEPTION_ERROR.getCode(), e.getMessage(), e.getStackTrace());
|
|
if (e.getMessage().contains("No enum constant com.qmth.themis.common.enums.Platform")) {
|
|
if (e.getMessage().contains("No enum constant com.qmth.themis.common.enums.Platform")) {
|
|
return ResultUtil.error(ExceptionResultEnum.EXCEPTION_ERROR.getCode(), "暂不支持此平台");
|
|
return ResultUtil.error(ExceptionResultEnum.EXCEPTION_ERROR.getCode(), "暂不支持此平台");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
response.setStatus(ExceptionResultEnum.EXCEPTION_ERROR.getStatusCode());
|
|
response.setStatus(ExceptionResultEnum.EXCEPTION_ERROR.getStatusCode());
|
|
|
|
+ log.error("statusCode:{}\ncode:{}\nmessage:{}\nexception:{}", ExceptionResultEnum.EXCEPTION_ERROR.getStatusCode(), ExceptionResultEnum.EXCEPTION_ERROR.getCode(), e.getMessage(), e.getStackTrace());
|
|
//Exception错误
|
|
//Exception错误
|
|
return ResultUtil.error(ExceptionResultEnum.EXCEPTION_ERROR.getCode(), e.getMessage());
|
|
return ResultUtil.error(ExceptionResultEnum.EXCEPTION_ERROR.getCode(), e.getMessage());
|
|
}
|
|
}
|
|
@@ -60,6 +66,7 @@ public class GlobalDefultExceptionHandler {
|
|
@ResponseBody
|
|
@ResponseBody
|
|
public <T> Result sqlExceptionHandler(SQLException e, HttpServletResponse response) {
|
|
public <T> Result sqlExceptionHandler(SQLException e, HttpServletResponse response) {
|
|
response.setStatus(ExceptionResultEnum.SQL_ERROR.getStatusCode());
|
|
response.setStatus(ExceptionResultEnum.SQL_ERROR.getStatusCode());
|
|
|
|
+ log.error("statusCode:{}\ncode:{}\nmessage:{}\nexception:{}", ExceptionResultEnum.SQL_ERROR.getStatusCode(), ExceptionResultEnum.SQL_ERROR.getCode(), e.getMessage(), e.getStackTrace());
|
|
return ResultUtil.error(ExceptionResultEnum.SQL_ERROR.getCode(), e.getMessage());
|
|
return ResultUtil.error(ExceptionResultEnum.SQL_ERROR.getCode(), e.getMessage());
|
|
}
|
|
}
|
|
|
|
|
|
@@ -75,6 +82,7 @@ public class GlobalDefultExceptionHandler {
|
|
@ResponseBody
|
|
@ResponseBody
|
|
public <T> Result invocationTargetExceptionHandler(InvocationTargetException e, HttpServletResponse response) {
|
|
public <T> Result invocationTargetExceptionHandler(InvocationTargetException e, HttpServletResponse response) {
|
|
response.setStatus(ExceptionResultEnum.INVOCATIONTARGET_ERROR.getStatusCode());
|
|
response.setStatus(ExceptionResultEnum.INVOCATIONTARGET_ERROR.getStatusCode());
|
|
|
|
+ log.error("statusCode:{}\ncode:{}\nmessage:{}\nexception:{}", ExceptionResultEnum.INVOCATIONTARGET_ERROR.getStatusCode(), ExceptionResultEnum.INVOCATIONTARGET_ERROR.getCode(), e.getMessage(), e.getStackTrace());
|
|
return ResultUtil.error(ExceptionResultEnum.INVOCATIONTARGET_ERROR.getCode(), ExceptionResultEnum.INVOCATIONTARGET_ERROR.name() + e.getTargetException());
|
|
return ResultUtil.error(ExceptionResultEnum.INVOCATIONTARGET_ERROR.getCode(), ExceptionResultEnum.INVOCATIONTARGET_ERROR.name() + e.getTargetException());
|
|
}
|
|
}
|
|
}
|
|
}
|