需求场景
在默认的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错误会不会以自定义的错误显示,如下:
![135fb80623a08eab5b1ac10365df50bc.png](https://i-blog.csdnimg.cn/blog_migrate/b849dd253b32bb97f26dae9e10b21ecb.png)
如果访问任意一个不存在的url地址,看看是不是也是这个自定义的错误信息,如下:
![ecc3fd1b782b4d19c418c8b825a37a07.png](https://i-blog.csdnimg.cn/blog_migrate/7017ebd93bba8bbb8b7de8ec0de81b1b.png)