我无法在烧瓶应用程序中正确引发异常

时间:2019-04-17 20:20:14

标签: python exception flask

在我的烧瓶应用程序中,由于以下代码行,我无法引发错误。

请注意,MyException是Exception类的子类,它从flask_api导入状态。

raise MyException(
            status.HTTP_400_BAD_REQUEST, "File does not exist: " + file_path
        )

但是,当我在网页中遇到此错误时,这会在终端中产生以下错误:

TypeError: 'tuple' object is not callable
The view function did not return a valid response. The return type must be a string, tuple, Response instance, or WSGI callable, but it was a tuple.

我无法在烧瓶中引发异常吗?

1 个答案:

答案 0 :(得分:0)

通常可以使用abort函数来完成此操作:

from flask.wrappers import Response

@app.route("/someroute")
def someroute():
    try:
        raise MyException("some message")
    except MyException as e:
        abort(400)
        abort(Response(e))

如果直接引发自定义异常,则需要为该异常添加一个处理程序,否则会收到一般性的500错误。