exceptions.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. # -*- coding: utf-8 -*-
  2. # !/usr/bin/env python
  3. from typing import Optional
  4. from library.jd import JDErrorCode
  5. class JDException(Exception):
  6. def __init__(self, errCode, errMsg, client = None, request = None, response = None):
  7. self.errCode = errCode
  8. self.errMsg = errMsg
  9. self.client = client
  10. self.request = request
  11. self.response = response
  12. super(JDException, self).__init__(errMsg)
  13. def __str__(self):
  14. if self.client:
  15. return '{kclass}(client: {client}, errCode: {errCode}, errMsg: {errMsg})'.format(
  16. kclass = self.__class__.__name__,
  17. client = repr(self.client),
  18. errCode = self.errCode,
  19. errMsg = self.errMsg)
  20. else:
  21. return '{kclass}(errCode: {errCode}, errMsg: {errMsg})'.format(
  22. kclass = self.__class__.__name__,
  23. errCode = self.errCode,
  24. errMsg = self.errMsg)
  25. def __repr__(self):
  26. return str(self)
  27. class JDAuthException(JDException):
  28. pass
  29. class JDPayException(JDException):
  30. pass
  31. class JDCommuException(JDException):
  32. pass
  33. class JDValidationError(JDException):
  34. def __init__(self, tips, lvalue, rvalue, client = None):
  35. # type: (basestring, basestring, basestring, Optional[object])->None
  36. super(JDValidationError, self).__init__(
  37. errCode = str(JDErrorCode.MY_VALID_ERROR),
  38. errMsg = '{}({} != {})'.format(tips, lvalue, rvalue),
  39. client = client)