123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #!/usr/bin/env python
- # coding: utf-8
- """
- exceptions.py
- ~~~~~~~~~~
- """
- from __future__ import absolute_import, unicode_literals
- import six
- from typing import Optional
- from library import to_binary, to_text
- from .base import AliErrorCode
- class AliException(Exception):
- def __init__(self, errCode, errMsg, client = None, request = None, response = None):
- super(AliException, self).__init__(errMsg)
- self.errCode = errCode
- self.errMsg = errMsg
- self.client = client
- self.request = request
- self.response = response
- def __str__(self):
- if self.client:
- _repr = '{kclass}(client: {client}, errCode: {errCode}, errMsg: {errMsg})'.format(
- kclass = self.__class__.__name__,
- client = repr(self.client),
- errCode = self.errCode,
- errMsg = self.errMsg)
- else:
- _repr = '{kclass}(errCode: {errCode}, errMsg: {errMsg})'.format(
- kclass = self.__class__.__name__,
- errCode = self.errCode,
- errMsg = self.errMsg)
- if six.PY2:
- return to_binary(_repr)
- else:
- return to_text(_repr)
- def __repr__(self):
- return str(self)
- class AliValidationError(AliException):
- def __init__(self, errmsg, lvalue, rvalue, client = None):
- # type: (basestring, basestring, basestring, Optional[object])->None
- super(AliValidationError, self).__init__(errCode = AliErrorCode.MY_VALID_ERROR,
- errMsg = '{}({} != {})'.format(errmsg, lvalue, rvalue),
- client = client)
- class AliPayGatewayException(AliException):
- pass
- class AliPayServiceException(AliException):
- pass
- class AliPayNetworkException(AliException):
- pass
|