StatusException.java 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package cn.com.qmth.ac.bean;
  2. /**
  3. * 有状态标识的运行时异常,在API层按500状态码处理
  4. */
  5. public class StatusException extends RuntimeException implements CodeNameException {
  6. private static final long serialVersionUID = -2411329525159341065L;
  7. private Integer code;
  8. private String name;
  9. /**
  10. * 有明确的文字提示
  11. *
  12. * @param message
  13. */
  14. public StatusException(String message) {
  15. super(message);
  16. }
  17. /**
  18. * 有明确的文字提示与触发来源
  19. *
  20. * @param message
  21. * @param cause
  22. */
  23. public StatusException(String message, Throwable cause) {
  24. super(message, cause);
  25. }
  26. /**
  27. * 带所有参数的构造方法
  28. *
  29. * @param code
  30. * - 数字标识,范围在100~999
  31. * @param name
  32. * - 异常详细类型
  33. * @param message
  34. * - 文字提示
  35. * @param cause
  36. * - 触发来源
  37. */
  38. public StatusException(Integer code, String name, String message, Throwable cause) {
  39. super(message, cause);
  40. if (code != null) {
  41. if (code < 100 || code > 999) {
  42. throw new IllegalArgumentException("StatusException.code should between 100~999");
  43. }
  44. }
  45. this.code = code;
  46. this.name = name;
  47. }
  48. public Integer getCode() {
  49. return code;
  50. }
  51. public String getName() {
  52. return name;
  53. }
  54. }