国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python基础教程 > python上下文管理器如何解决异常?

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

头像

小妮浅浅

2021-03-29 09:57:362844浏览 · 0收藏 · 0评论

本文教程操作环境: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 语法块内有异常发生时,会抛出异常给调用者。

class File:
 
    def __enter__(self):
        return file_obj
 
    def __exit__(self, exc_type, exc_value, exc_tb):
        # with 退出时释放文件资源
        file_obj.close()
        # 如果 with 内有异常发生 抛出异常
        if exc_type is not None:
            raise exception

以上就是python上下文管理器解决异常的方法,大家在学会后,也可以选择这种方式来处理异常,会省去我们抛出异常的选择,对于简化工作是非常有效的。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

《黑人性奴2》免费观看| 《人奶魔劫》完整版| 当看老公的面被维修工欺负| 真人老太太实战镖客视频大全| 《部长你别这样》大结局 | 打扑牌不盖被子怎么办| 公粗一夜6次挺进我的密道| 乱公伦媳..HH| 欧美大妈LOGO大全及价格图| 他的水蜜桃BY林烟烟免费阅读| 闺蜜老公把我压在怀里| 妈妈在家穿超薄内裤的注意事项 | 温柔女教师在线观看电视剧大全| 暴躁老妈高清免费观看电视剧 | 日本真人版免费PPT| 淑芬啊…啊别停灬用力啊视频| 韩国非常大度的电影原声| 人口兽猪马狗第1集| 亲吻姐姐| WWW.MD.GOVCN| 芬太尼在美国是怎么样的存在| GTV一同看GTV蓝颜| 人与动物胶配方视频荷尔蒙| 男生困困进女生困困洞视频| 《法国空乘8》电影| 女生给男生吃小头头| 观看已满十八岁电视剧冲田杏梨| 嫂嫂让小叔子帮忙生孩子视频| 《年轻朋友的妻子3》| 公与媳2电视剧免费观看| 法国色情巜做爰4| 金瓶双艳| 女生偷偷给全班男生塞表白信| 免费外国网站浏览器推荐| 降央卓玛B多大| 歪歪漫画SSS| 《后宫狂热》动漫全集完整| B站入口直接进入| 白带内裤拉丝尿液| 初尝少妇王老师的第一次在线观看 | 干别人老婆还当面打电话