首页IT科技flask 上下文(python上下文管理器如何解决异常?)

flask 上下文(python上下文管理器如何解决异常?)

时间2025-09-23 13:10:42分类IT科技浏览7351
导读:本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。...

本文教程操作环境:windows7系统                  、Python 3.9.1                ,DELL G3电脑                。

1                        、异常说明

异常可以在__exit__ 进行捕获并由你自己决定如何处理                           ,是抛出还是不抛出                           。在__exit__ 里返回 True(没有return 就默认为 return False)        ,就相当于告诉 Python解释器            ,这个异常我们已经捕获了                           ,不需要再往外抛了        。

2         、参数

__exit__ 函数时            ,需要注意的事        ,它必须要有这三个参数:

exc_type:异常类型

exc_val:异常值

exc_tb:异常的错误栈信息

当主逻辑代码没有报异常时                           ,这三个参数将都为None            。

3              、异常实例

如果我们需要对异常做特殊处理                 ,就可以在这个方法中实现自定义逻辑                           。

之所以 with 能够自动关闭文件资源    ,就是因为内置的文件对象实现了上下文管理器协议                          ,这个文件对象的 __enter__ 方法返回了文件句柄                      ,并且在 __exit__ 中实现了文件资源的关闭,另外                     ,当 with 语法块内有异常发生时                           ,会抛出异常给调用者            。

classFile: def__enter__(self): returnfile_obj def__exit__(self,exc_type,exc_value,exc_tb): #with退出时释放文件资源 file_obj.close() #如果with内有异常发生抛出异常 ifexc_typeisnotNone: raiseexception

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
python的默认字体(python默认字典是什么) 国外虚拟机推荐(美国虚拟主机空间怎么使用)