【问题标题】:I am unable to raise exceptions correctly in my flask app [duplicate]我无法在我的烧瓶应用程序中正确引发异常 [重复]
【发布时间】:2019-04-17 20:20:14
【问题描述】:

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

请注意,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.

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

【问题讨论】:

    标签: python exception flask


    【解决方案1】:

    您通常可以使用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 错误。

    【讨论】:

      猜你喜欢
      • 2018-12-19
      • 2014-11-26
      • 1970-01-01
      • 1970-01-01
      • 2015-05-10
      • 2020-09-05
      • 1970-01-01
      • 2020-05-31
      相关资源
      最近更新 更多