需求场景

在默认的http请求中,如果没有进行特别的自定义需求,那么出现404错误之类的,则会显示Not Found等信息。

如果需要在发生错误的时候,再进行一系列的业务处理,这时候就可以使用自定义的错误处理方法。

自定义错误方法示例

# 定义错误处理的方法
@app.errorhandler(404)
def handle_404_error(err):
"""自定义的处理错误方法"""
# 这个函数的返回值会是前端用户看到的最终结果
return "出现了404错误, 错误信息:%s" % err

完整代码如下:

from flask import Flask, request, abort

# 实例化app
app = Flask(import_name=__name__)

@app.route('/login', methods=["GET","POST"])
def login():

user_name = ''
user_pwd = ''

if user_name != 'libai' and user_pwd != '123':
abort(404)

return "login sucess"

# 定义错误处理的方法
@app.errorhandler(404)
def handle_404_error(err):
"""自定义的处理错误方法"""
# 这个函数的返回值会是前端用户看到的最终结果
return "出现了404错误, 错误信息:%s" % err

if __name__ == '__main__':
app.run(debug=True)

首先来访问/login视图函数,查看abort方法返回的404错误会不会以自定义的错误显示,如下:

10. Flask 自定义错误处理 app.errorhandler_Flask教程

如果访问任意一个不存在的url地址,看看是不是也是这个自定义的错误信息,如下:

10. Flask 自定义错误处理 app.errorhandler_Flask教程_02