国产成人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上下文管理器解决异常的方法,大家在学会后,也可以选择这种方式来处理异常,会省去我们抛出异常的选择,对于简化工作是非常有效的。

关注

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

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

少妇大屁股白浆流出白浆| CSGO2开箱网站| 黑科网今日黑科独家爆料| 蜜桃2| 豆传媒剧国产MV有什么特点| 胬肉(产乳)BY金银花露| 继母后妈的梗| 扌雷辶鬲的小说父女| 美国式禁忌3乱偷| 《警花交换做爰》| 真人刺激战场40分钟电视剧| 《炸裂吧!巨棒》免费阅读漫画| 深田咏美在线| 國产麻豆AVMDMD0179| 我被5个男人躁一夜不收我怎么办| 公翁晚上吃我奶头子| 撸撸社| 女班长主动给我她的手机号码 | 她开始慢慢迎合刘小刚是什么歌 | 蜜桃成时熟| 交换老公弄了几次高潮| 3个小婕子和我做受| 新加坡疫情| 正阳门下电视剧全集免费观看| 老师含紧一点H边做边走| 忘穿内裤被同桌C了好爽微博小说| 6亿韩元是多少人民币| 合家欢(1-46)王家| 妈妈外婆齐上阵母语| 扌雷辶鬲的小说父女 | 《深度》大尺度床戏| 善良的嫂子| 打扑克不盖被子| 武松叼着潘金莲奶头的是谁扮演的 | 黑色蕾丝女装大长腿| 哥伦比亚电视内衣秀| 老旺的大肉蟒进进出出| 在桌下含她的花蒂和舌头漫画| 蜜桃成熟33D| 夜童| DJ快了又快又骚的POP歌曲