优草派 > Python

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

翟嘉慧         优草派

在前面的学习中,了解了Python上下文管理器的基本用法,今天这篇文章主要是向大家讲解python上下文管理器是怎么样去解决异常情况的,希望通过对这篇文章的学习,大家能学到更多的Python知识,一起来看看吧。

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

1、异常说明

在程序的运行中,难免会会出现一些异常的情况,如果不对这些情况进行处理的话,就会操作程序无法进行下一步的运行,异常我们可以使用__exit__函数进行捕获,在使用的时候是没有return语句的,而是直接返回true或者是false,在默认情况下返回的是False,这就是一种告诉解释器,这个异常已经捕获了,并且不需要在进行外抛的操作。

2、参数

在使用这个函数的时候需要注意的地方是它包含着三个参数,并且三个参数都有特别的含义,具体的讲解如下:

exc_type:在这个参数中,type我们都知道是表示类型的意思,所以这个参数表示的是异常类型。

exc_val:当出现异常的时候,会有一个异常值,就是这个参数

exc_tb:异常的错误栈信息

在程序中,如果没有异常情况的出现时,默认情况下这三个参数都是None。

3、异常实例

下面看一个简单的例子,如下:

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

在这段代码中,如果我们要进行异常的特殊处理的时候,就可以在这个方法中使用自定义逻辑,能使用with语句关闭文件的资源,就是因为使用了内置的文件对象,它可以实现上下文管理器的协议,这个文件对象的 __enter__ 方法返回了文件句柄,并且在 __exit__ 中实现了文件资源的关闭,另外,当 with 语法块内有异常发生时,会抛出异常给调用者。

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

  • 微信好友

  • 朋友圈

  • 新浪微博

  • QQ空间

  • 复制链接

取消
5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024