Bases: DruncCommandException
TODO: Change this exception to something more useful.
Source code in drunc/exceptions.py
| def __init__(
self,
message: str | None = "An error occurred in Drunc.",
grpc_error_code: int | None = None,
details: str | None = None,
reason: str | None = None,
domain: str | None = None,
**detail_kwargs: object,
) -> None:
super().__init__(message)
self.message: str = (
message if message is not None else "An error occurred in Drunc."
)
self.grpc_error_code: int = (
grpc_error_code
if grpc_error_code is not None
else int(getattr(self.__class__, "grpc_error_code", code_pb2.INTERNAL))
)
self.reason: str = (
reason
if reason is not None
else str(getattr(self.__class__, "reason", self.__class__.__name__))
)
self.domain: str = (
domain
if domain is not None
else str(getattr(self.__class__, "domain", "drunc"))
)
self.details: str | None = details
self.detail_kwargs: dict[str, object] = detail_kwargs
error_metadata: dict[str, str] = {"message": self.message}
for key, value in self.detail_kwargs.items():
error_metadata[key] = str(value)
self.base_error_info = error_details_pb2.ErrorInfo(
reason=self.reason, domain=self.domain, metadata=error_metadata
)
|