Source code for Acquire.Service._errors


__all__ = ["AccountError", "PackingError", "UnpackingError",
           "RemoteFunctionCallError", "ServiceError", "ServiceAccountError",
           "MissingServiceAccountError"]


[docs]class AccountError(Exception): pass
[docs]class PackingError(Exception): pass
[docs]class UnpackingError(Exception): pass
[docs]class RemoteFunctionCallError(Exception): """This exception is called if there is a remote function call error that could not be auto-converted to anything else. If a child exception occurred remotely, then this is packaged safely into this exception """ def __init__(self, message, child_exception=None): super().__init__(message) if child_exception is not None: if issubclass(child_exception.__class__, Exception): from ._function import exception_to_safe_exception \ as _exception_to_safe_exception self._child_exception = _exception_to_safe_exception( child_exception) else: self.args = ("%s : %s" % (message, str(child_exception)), )
[docs] def unpack_and_raise(self): if self._child_exception is None: raise self else: import traceback as _traceback tb_lines = _traceback.format_exception( self.__class__, self, self.__traceback__) self._child_exception.args = ( "%s\n=== Local Traceback ===\n%s" % (self._child_exception.args[0], "".join(tb_lines)), ) if isinstance(self._child_exception, RemoteFunctionCallError): self._child_exception.unpack_and_raise() else: raise self._child_exception
[docs]class ServiceError(Exception): pass
[docs]class ServiceAccountError(Exception): pass
[docs]class MissingServiceAccountError(Exception): pass