Skip to content
This repository was archived by the owner on Dec 23, 2024. It is now read-only.

Errors handler#962

Closed
lrdcxdes wants to merge 0 commit intopyrogram:masterfrom
lrdcxdes:master
Closed

Errors handler#962
lrdcxdes wants to merge 0 commit intopyrogram:masterfrom
lrdcxdes:master

Conversation

@lrdcxdes
Copy link
Copy Markdown
Contributor

@lrdcxdes lrdcxdes commented Apr 16, 2022

from pyrogram import Client, filters

app = Client(...)

Use with decorator

@app.on_error()  # Global error handler, all other errors will be sent to it
async def err_handler(_, e: Exception, update):
    print(e, 'handled')
    print(update)


@app.on_error(ValueError)  #  Also you can use tuple with many exception classes, example: (ValueError, TypeError)
async def custom_err_handler(_, e: ValueError, update):
    print(e, 'custom handled')
    print(update)

Use without a decorator

value_error_handler = ErrorHandler(custom_err_handler, ValueError)  #  Also you can use tuple with many exception classes, example: (ValueError, TypeError)
global_error_handler = ErrorHandler(err_handler)  # Global error handler, all other errors will be sent to it
app.add_handler(value_error_handler)
app.add_handler(global_error_handler)

Startup example

@app.on_message(filters.command('testerror'))
async def msg_handler(_, m):
    raise Exception('TestError 123')


@app.on_message(filters.command('valueerror'))
async def custom_msg_handler(_, m):
    raise ValueError('TestError 123')

app.run()

Remove error handler

app.remove_error_handler(value_error_handler)
# Or you can use
app.remove_error_handler(error=ValueError)  # to remove all error handlers with ValueError in .errors
# For remove global error handler, you can use:
app.remove_error_handler()

@AndrielFR
Copy link
Copy Markdown

this is a better way to implement it than #597

@Danipulok
Copy link
Copy Markdown
Contributor

@delivrance why not merge it?
Seems really good and useful. Can be one of v2.X features

@Danipulok
Copy link
Copy Markdown
Contributor

@delivrance is there any way you could merge it?

@clot27
Copy link
Copy Markdown

clot27 commented Jun 29, 2022

Niice work, really liked it. Hope this get merged soon

@Danipulok
Copy link
Copy Markdown
Contributor

@delivrance any update?

@lrdcxdes lrdcxdes closed this Mar 20, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants