异常
捕获异常
捕获到异常,必须那个异常类型是对应的
try:
print("---")
f=open("test.txt","r")
print("---")
except IOError: #文件没找到属于Io异常(输入输出异常)
pass #捕获异常后执行的代码
#因为没有test.txt这个文件夹,所以会报错,但捕获异常可以在异常后跳过执行
except NameError: #命名异常
except (NameError,IoError): #可以捕获多种异常
获取错误描述
except (NameError,IoError) as result: #此时result保存了错误信息,并且可以打印
print(result)
囊括全部错误异常
except Exception as result: #捕获全部异常,Exception囊括全部异常
finally的使用 (finally是强制执行的,可以在报错后进行文件关闭,防止文件下次打开有问题)
try:
f=open("x,txt","r")
except Exception as result:
print("异常")
finally:
f.close() #这里其实会报错,因为f是try的局部变量,无法在finally中使用
print("文件关闭")