Flask捕获异常
-
-
注册一个错误处理程序,当程序抛出指定错误状态码的时候,就会调用该装饰器所装饰的方法
-
-
参数:
-
code_or_exception – HTTP的错误状态码或指定异常
-
-
from flask import Flask,request,abort app = Flask(__name__) # errorhandler 可以捕获指定http状态码的异常 @app.errorhandler(400) def internal_server_error(e): print(e) return '对不起,参数有误!' # errorhandler 也可以捕获指定的内置异常或者自定义的异常 class APIError(Exception): pass # 捕获自定义异常 @app.errorhandler(APIError) def api_error(e): print(e) return "api请求有误" # 捕获标准异常[python内置声明的] @app.errorhandler(ZeroDivisionError) def zero_division_error(e): print(e) return '除数不能为0' @app.route("/") def index(): # # 主动抛出HTTP异常 # if not request.args.get("uname"): # abort(400) # 抛出自定义异常并进行处理 # raise APIError("api接口发生异常!!!!") 1/0 return "ok" if __name__ == '__main__': app.run(host="0.0.0.0",port=5000,debug=True)