写JavaEE项目多了,形成了一定的流程样式,异常处理也是很重要的环节。
现在开始写python,相信肯定有一样的实现。没错,flask有这样的功能。
创建一个Flask项目后,默认的情况下,可以在app上注册errorhandler错误处理器,如:
@app.errorhandler(InvalidUsage)
def handle_invalid_usage(error):
response = jsonify(error.to_dict())
response.status_code = error.status_code
return response
可以看出,这个errorhandler处理器注册在app上,只能对app使用。
那么,问题来了,在一个项目中,单一的app局限性太强了,肯定要分各种模块蓝本,那么,每个模块蓝本该怎么使用统一的errorhandler呢?
首先,可以先开发一个公共模块蓝本,例如common
from flask import Blueprint, jsonify
cbp = Blueprint('common', __name__)

本文介绍了在Flask项目中实现统一异常处理的方法。通过创建公共模块蓝本,并定义自定义异常处理类,使用app_errorhandler注解进行全局注册。在需要的地方引入异常类并抛出,从而达到整个项目异常处理的统一。


4612

被折叠的 条评论
为什么被折叠?



