exceptions.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. # -*- coding: utf-8 -*-
  2. from Tea.converter import TeaConverter
  3. class TeaException(Exception):
  4. def __init__(self, dic):
  5. self.code = dic.get("code")
  6. self.message = dic.get("message")
  7. self.data = dic.get("data")
  8. def __str__(self):
  9. return 'Error: %s %s Response: %s' % (
  10. TeaConverter.to_str(self.code),
  11. TeaConverter.to_str(self.message),
  12. TeaConverter.to_str(self.data)
  13. )
  14. class RequiredArgumentException(TeaException):
  15. def __init__(self, arg):
  16. self.arg = arg
  17. def __str__(self):
  18. return '"%s" is required.' % TeaConverter.to_str(self.arg)
  19. class RetryError(TeaException):
  20. def __init__(self, message):
  21. self.message = message
  22. self.data = None
  23. class UnretryableException(TeaException):
  24. def __init__(self, request, ex):
  25. self.last_request = request
  26. self.inner_exception = ex
  27. self.message = "Retry failed: %s" % TeaConverter.to_str(ex.message)
  28. def __str__(self):
  29. return str(self.inner_exception)