exceptions.py 1.6 KB

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