diff --git a/telebot/async_telebot.py b/telebot/async_telebot.py index 981ad25e5..b3f189e16 100644 --- a/telebot/async_telebot.py +++ b/telebot/async_telebot.py @@ -415,8 +415,16 @@ async def _process_polling(self, non_stop: bool=False, interval: int=0, timeout: except asyncio.CancelledError: return except asyncio_helper.RequestTimeout as e: - logger.error(str(e)) - if non_stop: + handled = False + if self.exception_handler: + self.exception_handler.handle(e) + handled = True + + if not handled: + logger.error('Unhandled exception (full traceback for debug level): %s', str(e)) + logger.debug(traceback.format_exc()) + + if non_stop or handled: await asyncio.sleep(2) continue else: