GlobalExceptionHandler.java 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package com.fdkankan.fusion.exception;
  2. import com.fdkankan.fusion.common.ResultCode;
  3. import com.fdkankan.fusion.exception.BusinessException;
  4. import com.fdkankan.fusion.common.ResultData;
  5. import lombok.extern.slf4j.Slf4j;
  6. import org.apache.tomcat.util.http.fileupload.impl.IOFileUploadException;
  7. import org.springframework.web.bind.annotation.ExceptionHandler;
  8. import org.springframework.web.bind.annotation.ResponseBody;
  9. import org.springframework.web.bind.annotation.RestControllerAdvice;
  10. import org.springframework.web.multipart.MultipartException;
  11. /**
  12. * 全局异常处理器
  13. */
  14. @RestControllerAdvice
  15. @Slf4j
  16. public class GlobalExceptionHandler {
  17. /**
  18. * 处理未知异常
  19. */
  20. @ResponseBody
  21. @ExceptionHandler(value = Exception.class)
  22. public ResultData exceptionHandler(Exception e) throws Exception {
  23. log.error("服务错误:", e);
  24. return ResultData.error( 500, e.getMessage());
  25. }
  26. /**
  27. * 处理业务异常
  28. */
  29. @ResponseBody
  30. @ExceptionHandler(value = BusinessException.class)
  31. public ResultData businessExceptionHandler(BusinessException e) {
  32. log.info("业务异常code:{},message:{}", e.getCode(), e.getMessage());
  33. return ResultData.error(e.getCode(), e.getMessage());
  34. }
  35. /**
  36. * 处理未知异常
  37. */
  38. @ResponseBody
  39. @ExceptionHandler(value = MultipartException.class)
  40. public ResultData iOFileUploadExceptionExceptionHandler(MultipartException e) {
  41. log.info("MultipartException:", e);
  42. return ResultData.error( ResultCode.SPACE_ERROR);
  43. }
  44. }