print("------test1------")
f = open("123.txt","r") #用只读模式打开了一个不存在的文件
print("-----test2------") #这句代码不会被执行
#运行结果:报错
------test1------
Traceback (most recent call last):
File "D:\program\python\pythonyunxinwenjian\异常处理.py", line 3, in <module>
f = open("123.txt","r")
FileNotFoundError: [Errno 2] No such file or directory: '123.txt'
#对比
try:
print("------test1------")
f = open("123.txt","r")
print("-----test2------")
except IOError: #文件没找到,属于输入输出异常
pass #我自己在执行时,不知道哪里的错误,无法执行
#pass这句话的作用是,捕获到异常后跳过
#异常类型想要被捕获,需要一致
try:
print(num)
#except IOError:
#使用IOError运行程序时:
Traceback(most
recent
call
last):
File
"D:\program\python\pythonyunxinwenjian\异常处理.py", line
26, in < module >
print(num)
NameError: name
'num' is not defined
except NameError:
#使用NameError运行程序时
D:\program\python\python\python.exe
D: / program / python / pythonyunxinwenjian / 异常处理.py
有错误
进程已结束, 退出代码0
print("有错误")
#两种错误都有的异常处理
try:
print("------test1------")
f = open("123.txt","r")
print("-----test2------")
print(num)
except(NameError,IOError): #将所有可能的错误全都包含进去
print("有错误")
#获取错误描述
try:
print("------test1------")
f = open("123.txt","r")
print("-----test2------")
print(num)
except(NameError,IOError) as result: #将所有可能的错误全都包含进去
print("有错误")
print(result)
#捕获所有的异常
try:
print("------test1------")
f = open("123.txt","r")
print("-----test2------")
print(num)
except Exception as result: #Exception捕获所有的异常
print("有错误")
print(result)
#try finally和嵌套
import time
try:
f = open("test1.txt","r")
try:
while True:
content = f.readline()
if len(content) == 0:
break
time.sleep(2)
print(content)
finally:
f.close()
print("文件关闭") #finally后面的操作一定会执行
except Exception as result:
print("发生异常")
print(result)
f = open("gushi.txt","w")
f.write("窗前明月光,疑是地上霜,举头望明月,低头尿裤裆")
f.close()
f = open("gushi.txt","r")
content = f.readlines()
print(content)
python每日一练
最新推荐文章于 2025-12-08 12:04:40 发布
本文介绍了Python中异常处理的基本语法,包括try-except、finally语句的使用,以及如何捕获并处理不同类型的错误,如FileNotFoundError和NameError。通过示例展示了当尝试打开不存在的文件或引用未定义变量时的错误处理方式,并演示了如何获取错误的详细描述。此外,还涉及了文件读写操作和异常处理在实际编程中的应用。
939

被折叠的 条评论
为什么被折叠?



