烧瓶没有注册异常

时间:2015-02-26 13:40:11

标签: 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)

这是烧瓶初始化代码:

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())

1 个答案:

答案 0 :(得分:0)

证明我正在使用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())

发现了错误。