1
0

ServiceException.java 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package cn.seecoder.common.exceptions;
  2. import lombok.Getter;
  3. import lombok.ToString;
  4. import org.springframework.http.HttpStatus;
  5. @Getter
  6. @ToString
  7. public class ServiceException extends Exception{
  8. private final int code;
  9. public ServiceException() {
  10. this(HttpStatus.INTERNAL_SERVER_ERROR.value(), HttpStatus.INTERNAL_SERVER_ERROR.getReasonPhrase());
  11. }
  12. public ServiceException(int error, Throwable e) {
  13. this(error, message(error), e);
  14. }
  15. public ServiceException(String message, Throwable e) {
  16. this(HttpStatus.INTERNAL_SERVER_ERROR.value(), message, e);
  17. }
  18. public ServiceException(int error, String message, Throwable e) {
  19. super(message, e);
  20. this.code = error;
  21. }
  22. public ServiceException(int error) {
  23. this(error, message(error));
  24. }
  25. public ServiceException(String message) {
  26. this(HttpStatus.INTERNAL_SERVER_ERROR.value(), message);
  27. }
  28. public ServiceException(int error, String message) {
  29. super(message);
  30. this.code = error;
  31. }
  32. private static String message(int error) {
  33. try {
  34. return HttpStatus.valueOf(error).getReasonPhrase();
  35. } catch (IllegalArgumentException e) {
  36. return HttpStatus.INTERNAL_SERVER_ERROR.getReasonPhrase();
  37. }
  38. }
  39. }