2 réponses

Meilleure réponse

Flask vous fournit une fonction qui vous permet d'enregistrer un gestionnaire d'erreurs sur l'ensemble de votre app ; vous pouvez faire quelque chose comme indiqué ci-dessous :

def handle_exceptions(e):
    # Log exception in your logs
    # get traceback and sys exception info and log as required   
    # app.logger.error(getattr(e, 'description', str(e)))

    # Print traceback

    # return your response using getattr(e, 'code', 500) etc. 

# Exception is used to catch all exceptions
app.register_error_handler(Exception, handle_exceptions)

À mon avis honnête, c'est la voie à suivre. - Suivre la structure trouvée dans werkzeug.exceptions.HTTPException comme exemple est une base solide.

Disposer d'un gestionnaire d'exceptions unifié qui standardisera la gestion, la visualisation et la journalisation de Exception vous rendra la vie un peu meilleure. :)

2
Julian Camilleri 14 mars 2019 à 10:38

Essayez avec ceci:

def do_something:
    try:
        doing_something()
    except Exception as err:
        return f"{err.__class__.__name__}: {err}"
2
dteod 14 mars 2019 à 10:19