在Flask的教程 [here]中,close_db的定义包括默认值'e = None'。但是,该值未在函数中使用,我也无法在任何地方找到引用。
def close_db(e=None):
db = g.pop('db', None)
if db is not None:
db.close()
是否有明确说明“ e = None”的特定原因?
答案 0 :(得分:1)
您会在本教程中注意到,在init_app
函数中,close_db
作为参数传递给app.teardown_appcontext()
。
来自teardown_appcontext
的文档字符串中:
由于未处理的异常而调用了拆解函数时 它将传递一个错误对象。如果:meth:
errorhandler
是 已注册,它将处理异常,并且不会删除 收到。
因此e
引用错误对象,默认情况下为None。您可以了解有关注册错误处理程序at this link的更多信息。