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)
04-07
1222
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交