异常处理
from flask import Flask,abort
app = Flask(__name__)
# flask函数中的异常处理:abort函数,类似于python中的raise语句.
@app.route('/')
def index():
# 400:(坏的请求)bad request
# 403:没有权限(forbidden)
# 404:(找不到)not found
# 405:请求方法不允许(method not allowed)
# 500:服务器内部错误(internal server error)
# abort后面的参数只能是符合http协议的异常状态码.
abort(500)
return 'hello world',400
# 如果abort抛出类agiel异常,同样在return之后也定义类一个异常状态码,最终的浏览器会是abort的状态码
# 因为abort一旦被出发,就代码存在异常,终止程序运行,返回响应.
if __name__ == '__main__':
app.run()
但是我们在页面设计的时候并不会抛出异常状态码给客户,为了保证客户体验,我们通常是自定义错误页面。
from flask import Flask,abort
app = Flask(__name__)
# flask函数中的异常处理:abort函数,类似于python中的raise语句.
@app.route('/')
def index():
abort(500)
return 'hello world',400
# 自定义错误页面,接收的参数为异常状态码
@app.errorhandler(500)
def error_handler(e):
return "页面搬家类,请访问xxx页面%s" %e
# 注意error_handler必须接受错误信息作为信息,但是可以不返回.此时打开浏览器显示的结果就是return的字符串,而不是难以理解的错误信息,错误信息就被储存在参数e中,当然return可以为一个用户体验好点的模板类页面。
if __name__ == '__main__':
app.run()