首页 > 解决方案 > 在不丢失回溯的情况下创建自定义异常处理的最佳实践?

问题描述

我已经看到了一些可以解决我想要的问题的问题,但还没有找到任何可以满足我的问题的东西。

我正在使用 Python Flask 中的蓝图创建一个相当大且复杂的 Web 服务器。我希望,当我遇到错误(尝试...除了...)时,能够记录错误等等。编写代码来记录每个异常中的错误和回溯似乎违反了DRY

我知道我可以定义一个正常的方法,该方法具有字符串和诸如此类的输入,我可以在其中传递我的异常和回溯,但是由于某种原因这对我来说感觉不对。

所以我的问题是,有没有办法能够在触发错误时引发另一个异常,同时保留回溯,在那里我可以有我的错误处理逻辑(记录、向用户显示错误等)?

我希望我的网络服务器代码如下所示:

try:
    # some error-prone process
except:
    raise errorHandler # where "errorHandler" is my custom error handler

此外,这个项目是 Python 3,所以我更喜欢使用与 Python 3 配合得很好的东西。

谢谢!

标签: pythonpython-3.x

解决方案


推荐阅读