# 异常的捕获方法
"""
在力所能及的范围内,对可能出现的bug,进行提前准备、提前处理,这种行为叫做:异常处理(捕获异常)
当程序出现bug,有两种情况
1.整个程序因为一个bug停止运行
2.对bug进行提醒,整个程序继续运行
捕获异常的作用:提前假设某处会出现异常,做好提前准备,当真的出现异常的时候,可以有后续手段。
"""
# 捕获异常的语法:
# try:
# 可能发生错误的代码
# except:
# 如果出现异常执行的代码
# 1.捕获常规异常
try: # 这个代码可能有bug
f = open("D:/恭喜发财.txt","r",encoding="UTF-8")
except: # 如果真有bug,那就这么做
print("出现异常了,文件不存在。我将open模式,改为w模式去打开")
f = open("D:/恭喜发财.txt", "w", encoding="UTF-8")
# 2.捕获指定异常,不同类型的错误不能捕捉
try:
print(name)
# 10/0
except NameError as e : # 通过as 设置一个变量对象e
print("出现了变量未定义的异常")
print(e)
# 3.捕获多个异常,在except(逗号隔开,写多种异常类型)as x:
try:
1/0
print(name)
except(NameError,ZeroDivisionError) as f:
print("出现了变量未定义 或者 除以0的异常错误")
print(f)
# 4.捕获所有异常, except Exception as e :
# 可以直接except: Exception as e 不用写
try:
print(name)
10/0
f = open("D:/恭喜发财.txt","r",encoding="UTF-8")
except Exception as e: #except: 可以捕捉所有异常类型
print("出现了异常")
# 5.异常的else和finally语法
try:
f = open("D:/恭喜发财.txt", "r", encoding="UTF-8")
except Exception as e: #except: 可以捕捉所有异常类型
print("出现了异常")
f = open("D:/恭喜发财.txt", "w", encoding="UTF-8")
else: # 没有异常的时候,执行这里
print("好开心,没有异常bug")
finally: # finally表示,无论是否有异常都必须执行的代码,例如关闭文件
print("我是finally,有没有异常我都要执行")
f.close()
运行结果:


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



