python每日一练

本文介绍了Python中异常处理的基本语法,包括try-except、finally语句的使用,以及如何捕获并处理不同类型的错误,如FileNotFoundError和NameError。通过示例展示了当尝试打开不存在的文件或引用未定义变量时的错误处理方式,并演示了如何获取错误的详细描述。此外,还涉及了文件读写操作和异常处理在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



print("------test1------")
f = open("123.txt","r")          #用只读模式打开了一个不存在的文件
print("-----test2------")         #这句代码不会被执行

#运行结果:报错

------test1------
Traceback (most recent call last):
  File "D:\program\python\pythonyunxinwenjian\异常处理.py", line 3, in <module>
    f = open("123.txt","r")
FileNotFoundError: [Errno 2] No such file or directory: '123.txt'

#对比

try:
print("------test1------")
f = open("123.txt","r")
print("-----test2------")
except IOError:       #文件没找到,属于输入输出异常
    pass              #我自己在执行时,不知道哪里的错误,无法执行
                      #pass这句话的作用是,捕获到异常后跳过

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

try:
    print(num)
    
#except IOError:
    #使用IOError运行程序时:
    
    Traceback(most
    recent
    call
    last):
    File
    "D:\program\python\pythonyunxinwenjian\异常处理.py", line
    26, in < module >
    print(num)
NameError: name
'num' is not defined


except NameError:
    #使用NameError运行程序时
    
    D:\program\python\python\python.exe
    D: / program / python / pythonyunxinwenjian / 异常处理.py
    有错误

    进程已结束, 退出代码0
    
    print("有错误")

#两种错误都有的异常处理

try:
    print("------test1------")
    f = open("123.txt","r")
    print("-----test2------")

    print(num)
except(NameError,IOError):  #将所有可能的错误全都包含进去
    print("有错误")

#获取错误描述

try:
  print("------test1------")
  f = open("123.txt","r")
  print("-----test2------")

  print(num)
except(NameError,IOError) as result:    #将所有可能的错误全都包含进去
  print("有错误")
  print(result)

#捕获所有的异常

try:
  print("------test1------")
  f = open("123.txt","r")
  print("-----test2------")

  print(num)
except Exception as result:    #Exception捕获所有的异常
  print("有错误")
  print(result)



#try   finally和嵌套
import time
try:
    f = open("test1.txt","r")
    try:
        while True:
            content = f.readline()
            if len(content) == 0:
                break
            time.sleep(2)
            print(content)
    finally:
        f.close()
        print("文件关闭")            #finally后面的操作一定会执行
except Exception as result:
    print("发生异常")
    print(result)


f = open("gushi.txt","w")
f.write("窗前明月光,疑是地上霜,举头望明月,低头尿裤裆")
f.close()

f = open("gushi.txt","r")
content = f.readlines()
print(content)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值