-
-
注册一个错误处理程序,当程序抛出指定错误状态码的时候,就会调用该装饰器所装饰的方法
-
-
参数:
-
code_or_exception – HTTP的错误状态码或指定异常
-
-
@app.errorhandler(500) def internal_server_error(e): return '服务器搬家了'
捕获指定异常类型
@app.errorhandler(ZeroDivisionError) def zero_division_error(e): return '除数不能为0'
from flask import Flask # 创建flask应用 app = Flask(__name__) """加载配置""" class Config(): DEBUG = True app.config.from_object(Config) """ flask中内置了app.errorhander提供给我们捕获异常,实现一些在业务发生错误时的自定义处理。 1. 通过http状态码捕获异常信息 2. 通过异常类进行异常捕获 """ """1. 捕获http异常[在装饰器中写上要捕获的异常状态码也可以是异常类]""" @app.errorhandler(404) def error_404(e): return "<h1>您访问的页面失联了!</h1>" # return redirect("/") """2. 捕获系统异常或者自定义异常""" class APIError(Exception): pass @app.route("/") def index(): raise APIError("api接口调用参数有误!") return "个人中心,视图执行了!!" @app.errorhandler(APIError) def error_apierror(e): return "错误: %s" % e if __name__ == '__main__': app.run(host="localhost",port=8080)