From cc4c6202615322c9a240202672662e1335f9d1c0 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 29 Jul 2018 12:40:40 +0200 Subject: [PATCH] Show more information for bare RPCError (#919) --- telethon/errors/__init__.py | 7 +++++-- telethon/errors/rpcbaseerrors.py | 7 ++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/telethon/errors/__init__.py b/telethon/errors/__init__.py index a88459eb..38696ada 100644 --- a/telethon/errors/__init__.py +++ b/telethon/errors/__init__.py @@ -65,5 +65,8 @@ def rpc_message_to_error(rpc_error, report_method=None): capture = int(m.group(1)) if m.groups() else None return cls(capture=capture) - cls = base_errors.get(rpc_error.error_code, RPCError) - return cls(rpc_error.error_message) + cls = base_errors.get(rpc_error.error_code) + if cls: + return cls(rpc_error.error_message) + + return RPCError(rpc_error.error_code, rpc_error.error_message) diff --git a/telethon/errors/rpcbaseerrors.py b/telethon/errors/rpcbaseerrors.py index 061740d8..78547017 100644 --- a/telethon/errors/rpcbaseerrors.py +++ b/telethon/errors/rpcbaseerrors.py @@ -3,8 +3,13 @@ class RPCError(Exception): code = None message = None + def __init__(self, code, message): + super().__init__('RPCError {}: {}'.format(code, message)) + self.code = code + self.message = message + def __reduce__(self): - return type(self), () + return type(self), (self.code, self.message) class InvalidDCError(RPCError):