Python中BaseException和Exception的区别---以及异常外抛

首先BaseException 是 Exception 的父类
其中一个KeyboardInterrupt 这个异常类是属于父类:BaseExpection 里的面,作为子类的Expection无法捕获

本次测试需要用到命令端测试:
在这里插入图片描述
下面实验的hello.txt 的内容为:
在这里插入图片描述

import time

try:
# hello.txt文件已存在的情况下测试
f = open(‘hello.txt’)
# 尝试循环读取内容
try:
while True:
con = f.readline()
# 如果读取完成退出循环
if len(con) == 0:
break

        time.sleep(2)   # 延迟2秒输出,方便观察结果和执行键盘终止操作
        print(con)
except Exception as e:
    print('内层异常====:', e)
    # 在命令提示符中如果按下ctrl+C结束终止的键
    print('程序被意外终止')

except:
# raise Exception(“Invalid level!”, e)
print(‘该文件不存在’)

里面的try和expect Expetion 捕捉不到 KeyboardInterrupt 这个异常时,异常外抛到 外面execpt 接收。
执行:print(‘该文件不存在’)

执行结果:该文件不存在

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值