python - Flask 没有注册异常

标签 python exception flask

这是我的异常类 DB_ERROR_REMOVE = 203

CLOUD_ERROR = 300

class MyError(Exception):
    def __init__(self, code, message, recommendation):
        self.code = code
        self.message = message
        self.recommendation = recommendation
        Exception.__init__(self)

这是 flask 初始化代码:

app = Flask(__name__)
api = Api(app)

@app.errorhandler(MyError)
def my_exception_handler(error):
    return "!!!!"  + repr(error) + repr(traceback.format_exc())

我像这样提出错误:

raise MyError(1,"bla","foo")    

没听懂。 如果我对 Exception 做同样的事情,它确实会捕获它:

@app.errorhandler(Exception)
def my_exception_handler(error):
    return "!!!!"  + repr(error) + repr(traceback.format_exc())

最佳答案

事实证明,我正在使用 add_resource 在我的应用中定义路由

一旦我使用@app.route定义它们 异常

@app.route('/<string:productName>/', methods=['POST', 'GET'])
def get(productName, examUniq): 
    raise MyError(111, "message", "test")

@app.errorhandler(MyError)
def my_exception_handler(error):
    return "!!!!"  + repr(error) + repr(traceback.format_exc())

错误已被捕获。

关于python - Flask 没有注册异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28744014/

相关文章:

java - 重新抛出已检查的异常

java - 如何在 JVM 级别捕获 OutOfMemory 错误?

java - Gradle Wrapper ClassNotFound 但只是有时?

css - 如何将 CSS 类添加到 Flask-Table 列

python - SQLAlchemy 删除关联对象

python - 如何让 Celery 工作人员返回任务结果

python - 如何通过 Python 查询在 Elasticsearch 中的不同字段中找到相等的值?

python - 带注释字段的过滤器集查找

python - 使用 csv 模块将列表元素写入 python 中的 csv 文件中的字段

python - 在 Linux 中保存 matplotlib 动画