知行编程网知行编程网  2022-12-29 14:30 知行编程网 隐藏边栏  8 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python的with怎么抛错的相关知识,包括python怎么抛出异常,以及python输错了怎么返回这些编程知识,希望对大家有参考作用。

python的with是怎么抛出错误的

使用with后,无论with中的代码出现什么错误,当前对象都会被清理掉。

比如file的file.close()方法,不管with有什么错误,都会执行file.close()方法

我们知道使用try-except-finally语句可以处理异常,接下来介绍使用with语句处理异常相关的工作

with语句支持创建资源、抛出异常、释放资源等操作,代码简洁。


with语句格式

with 上下文表达式 [as 资源对象]: 对象操作 说明:

上下文表达式,返回一个上下文管理对象

如果指定了as语句,则对象不会赋值给as子句中的资源对象,而是将上下文管理器的__enter__()方法的返回值赋值给资源对象。

资源对象可以是单变量,也可以是元组。

使用with语句操作文件对象

with open("/test.txt") as file:
    for aline in file:
        print(aline)

说明:此代码使用 with 语句打开文件。如果是顺便打开,将file对象赋值给file,然后用for语句遍历打印文件的每一行。文件操作时

操作完成后,with语句关闭文件。如果在这段代码执行过程中发生异常,with 也会关闭文件。

这段代码使用finally语句实现如下:

try:
    file = open("/test.txt")
    try:
        for aline in file:
            print(aline)
    except Exception as error:
        print(error)
    finally:
        file.close()
except FileNotFoundError as err:
    print(err)

我们也可以给with语句加上异常处理:

try:
    with open("/test.txt") as file:
        for aline in file:
            print(aline)
except Exception as error:
    print(error)

通过对比可以发现,with语句的代码在处理异常的时候要简单很多。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享