ApiException.java 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package com.ym.common;
  2. /**
  3. * Created by weiqinxiao on 2019/2/26.
  4. */
  5. public class ApiException extends RuntimeException {
  6. /**
  7. *
  8. */
  9. private static final long serialVersionUID = 1L;
  10. private ErrorEnum error;
  11. private String errDetail;
  12. private Object extraData;
  13. /**
  14. * 标准异常,使用预定义的的errCode和errMsg
  15. *
  16. * @param error
  17. */
  18. public ApiException(ErrorEnum error) {
  19. this(error, null);
  20. }
  21. /**
  22. * 标准异常,并携带自定义数据
  23. *
  24. * @param error
  25. * @param errDetail
  26. */
  27. public ApiException(ErrorEnum error, String errDetail) {
  28. this(error, errDetail, null);
  29. }
  30. /**
  31. * 自定义异常,使用预定义的的errCode和自定义message,且携带自定义数据
  32. *
  33. * @param error
  34. * @param errDetail
  35. * @param extraData
  36. */
  37. public ApiException(ErrorEnum error, String errDetail, Object extraData) {
  38. super(null == errDetail ? error.getErrMsg() : errDetail);
  39. this.error = error;
  40. this.errDetail = errDetail;
  41. this.extraData = extraData;
  42. }
  43. public ErrorEnum getError() {
  44. return error;
  45. }
  46. public String getErrDetail() {
  47. return errDetail;
  48. }
  49. public Object getExtraData() {
  50. return extraData;
  51. }
  52. }