exceptions.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # -*- coding: utf-8 -*-
  2. # !/usr/bin/env python
  3. from __future__ import absolute_import, unicode_literals
  4. import six
  5. from library import to_binary, to_text
  6. class QibenException(Exception):
  7. def __init__(self, errorCode, errorMsg, client = None, request = None, response = None):
  8. self.errCode = errorCode
  9. self.errMsg = errorMsg
  10. self.client = client
  11. self.request = request
  12. self.response = response
  13. super(QibenException, self).__init__(errorMsg)
  14. def __str__(self):
  15. if self.client:
  16. _repr = '{kclass}(client: {client}, errCode: {errCode}, errMsg: {errMsg})'.format(
  17. kclass = self.__class__.__name__,
  18. client = repr(self.client),
  19. errCode = self.errCode,
  20. errMsg = self.errMsg)
  21. else:
  22. _repr = '{kclass}(errCode: {errCode}, errMsg: {errMsg})'.format(
  23. kclass = self.__class__.__name__,
  24. errCode = self.errCode,
  25. errMsg = self.errMsg)
  26. if six.PY2:
  27. return to_binary(_repr)
  28. else:
  29. return to_text(_repr)
  30. def __repr__(self):
  31. return str(self)