From 60f2fa8010a7fcdb0f8e885964a2c97b690b7444 Mon Sep 17 00:00:00 2001 From: "[li_she]" <[li.she@xujiesoft.com]> Date: Fri, 24 Feb 2023 14:10:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=8B=A6=E6=88=AA=E5=99=A8?= =?UTF-8?q?=202023=E5=B9=B42=E6=9C=8824=E6=97=A5=20sxm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/exception/XJExceptionHandler.java | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 xujie-pms/src/main/java/com/xujie/pms/common/exception/XJExceptionHandler.java diff --git a/xujie-pms/src/main/java/com/xujie/pms/common/exception/XJExceptionHandler.java b/xujie-pms/src/main/java/com/xujie/pms/common/exception/XJExceptionHandler.java new file mode 100644 index 0000000..0b6cb64 --- /dev/null +++ b/xujie-pms/src/main/java/com/xujie/pms/common/exception/XJExceptionHandler.java @@ -0,0 +1,54 @@ + + +package com.xujie.pms.common.exception; + +import com.xujie.common.exception.XJException; +import com.xujie.common.utils.R; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.dao.DuplicateKeyException; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; +import org.springframework.web.servlet.NoHandlerFoundException; + +/** + * 异常处理器 + */ +@RestControllerAdvice +public class XJExceptionHandler { + private Logger logger = LoggerFactory.getLogger(getClass()); + + /** + * 处理自定义异常 + */ + @ExceptionHandler(XJException.class) + public R handleRRException(XJException e) { + R r = new R(); + r.put("code", e.getCode()); + r.put("msg", e.getMessage()); + e.printStackTrace(); + return r; + } + + @ExceptionHandler(NoHandlerFoundException.class) + public R handlerNoFoundException(Exception e) { + logger.error(e.getMessage(), e); + e.printStackTrace(); + return R.error(404, "路径不存在,请检查路径是否正确"); + } + + @ExceptionHandler(DuplicateKeyException.class) + public R handleDuplicateKeyException(DuplicateKeyException e) { + logger.error(e.getMessage(), e); + String message = ""; + message = "数据库存已在该记录!"; + return R.error(message); + } + + @ExceptionHandler(Exception.class) + public R handleException(Exception e) { + logger.error(e.getMessage(), e); + e.printStackTrace(); + return R.error(e.getMessage()); + } +}