Python第七章06:异常的捕捉操作

# 异常的捕获方法
"""
在力所能及的范围内,对可能出现的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()

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值