1234567891011121314151617181920212223242526272829303132333435363738 |
- import logging
- from aiogram.utils.exceptions import (TelegramAPIError,
- MessageNotModified,
- CantParseEntities)
- from loader import dp
- @dp.errors_handler()
- async def errors_handler(update, exception):
- """
- Exceptions handler. Catches all exceptions within task factory tasks.
- :param dispatcher:
- :param update:
- :param exception:
- :return: stdout logging
- """
- if isinstance(exception, MessageNotModified):
- logging.exception('Message is not modified')
- # do something here?
- return True
-
- if isinstance(exception, CantParseEntities):
- # or here
- logging.exception(f'CantParseEntities: {exception} \nUpdate: {update}')
- return True
-
- # MUST BE THE LAST CONDITION (ЭТО УСЛОВИЕ ВСЕГДА ДОЛЖНО БЫТЬ В КОНЦЕ)
- if isinstance(exception, TelegramAPIError):
- logging.exception(f'TelegramAPIError: {exception} \nUpdate: {update}')
- return True
-
- # At least you have tried.
- logging.exception(f'Update: {update} \n{exception}')
|