python 错误与异常

异常会中断程序进行,错误是不可预测的,但是异常可以处理。

发生异常

print("----tets1---")

f = open("1.txt", "r")  # 用只读模式打开了一个不存在的文件

print("----tets2----")   # 这句话不会被执行

捕获异常 (由try把可能出错的代码段包括,except 表示出现的错误是什么 ,pass什么也不做)

try:
    print("----tets1---")

    f = open("1.txt","r")

    print("----tets2----")
except IOError:   # 文件没找到属于 IOE 异常(输入输出异常)
    pass   #捕获异常后,执行的代码

异常类型类型想要被捕获,需要一致

try:
    print(num)
#except IOError:  # 异常类型类型想要被捕获,需要一致
except NameError:
    print("产生错误了")

如何很多问题都能捕获

try:


    print("----tets1---")

    f = open("1.txt", "r")

    print("----tets2----")

    print(num)
except (IOError,NameError):  # 将可能产生的所有异常类型,全部放到下面的小括号中
    print("产生错误")

获取错误描述

try:


    print("----tets1---")

    f = open("1.txt", "r")

    print("----tets2----")

    print(num)
except (IOError,NameError) as ress:

    print("产生错误")

    print(ress)

捕获所有的错误异常都可以用一条来解决。

try:


    print("----tets1---")

    f = open("1.txt", "r")

    print("----tets2----")

    print(num)
except (Exception) as ress:  # Exception 可以承担所有异常

    print("产生错误")

    print(ress)

try ,,finally 和嵌套

try:
    f = open("练习文本.py","r")

    try:
        while True:
            content  = f.readline()
            if len(content)  == 0:
                break
            time.sleep(2)
            print(content)
    finally:    # 必执行
        f.close()
        print("文件关闭")


except Exception as ress:
    print("发生异常。。。")
    print(ress)
finally:
    f.close()
    print("文件关闭")
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值