/**
* 全局异常处理
* @className: BaseController
* @description: 基础控制器db/job
**/
public abstract class BaseController {
protected static final Logger logger = LoggerFactory.getLogger(BaseController.class);
@ExceptionHandler({ //
BusinessException.class, //
IllegalArgumentException.class, //
RuntimeException.class, //
Exception.class, //
Throwable.class})
public Object exp(HttpServletRequest request, HttpServletResponse response, Throwable e) {
request.setAttribute("ex", e);
ReturnResult returnResult = ReturnResult.create();
if (e instanceof BusinessException || e instanceof IllegalArgumentException) {
returnResult.setErrorMsg(e.getMessage());
String errorCode = DateTimeUtils.getTimestampStr();
logger.error("错误码:" + errorCode + ",详细信息:", e);
} else {
// 记日志到日志实体中
// ......
logger.info("进入全局异常处理: " + new Date());
String errorCode = DateTimeUtils.getTimestampStr();
logger.error("错误码:" + errorCode + ",详细信息:", e);
String msg = "系统异常(错误码:" + errorCode + ")";
returnResult.setErrorMsg(msg);
}
if (logger.isDebugEnabled()) {
e.printStackTrace();
}
return returnResult;
}
}
全局异常处理Controller
最新推荐文章于 2024-05-13 21:59:03 发布