Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

RenExceptionHandler.java 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /**
  2. * Copyright (c) 2022 雷掣 All rights reserved.
  3. *
  4. * https://www.lc_crm.com
  5. *
  6. * 版权所有,侵权必究!
  7. */
  8. package io.renren.exception;
  9. import io.renren.common.exception.ErrorCode;
  10. import io.renren.common.exception.RenException;
  11. import io.renren.common.exception.UnauthorizedException;
  12. import io.renren.common.utils.Result;
  13. import org.slf4j.Logger;
  14. import org.slf4j.LoggerFactory;
  15. import org.springframework.dao.DuplicateKeyException;
  16. import org.springframework.http.HttpStatus;
  17. import org.springframework.http.ResponseEntity;
  18. import org.springframework.web.bind.annotation.ExceptionHandler;
  19. import org.springframework.web.bind.annotation.RestControllerAdvice;
  20. /**
  21. * 异常处理器
  22. *
  23. * @author Mark sunlightcs@gmail.com
  24. * @since 1.0.0
  25. */
  26. @RestControllerAdvice
  27. public class RenExceptionHandler {
  28. private static final Logger logger = LoggerFactory.getLogger(RenExceptionHandler.class);
  29. /**
  30. * 处理自定义异常
  31. */
  32. @ExceptionHandler(RenException.class)
  33. public Result handleRenException(RenException ex){
  34. Result result = new Result();
  35. result.error(ex.getCode(), ex.getMsg());
  36. return result;
  37. }
  38. @ExceptionHandler(DuplicateKeyException.class)
  39. public Result handleDuplicateKeyException(DuplicateKeyException ex){
  40. Result result = new Result();
  41. return result.error(9999,"数据库中已存在该记录");
  42. }
  43. @ExceptionHandler(UnauthorizedException.class)
  44. public ResponseEntity handleException(UnauthorizedException e){
  45. logger.error(e.getMessage(), e);
  46. return new ResponseEntity(null, HttpStatus.UNAUTHORIZED);
  47. }
  48. @ExceptionHandler(Exception.class)
  49. public Result handleException(Exception ex){
  50. logger.error(ex.getMessage(), ex);
  51. return new Result().error();
  52. }
  53. }