python 异常处理 try except /try finally

try except 捕获异常

pass 捕获到异常但不做任何处理

try:
    print("------test------1-----")
    f = open("123.txt","r")
    print("------test------2-----")
except IOError:  # IOError 文件没找到,属于IO 输入输出异常
    pass

可以将可能忽略的异常都放在 except () 括号内,同时也可以打印出错误信息

try:
    print("------test------1-----")
    f = open("123.txt","r")
    print("------test------2-----")
    print(num)
except (IOError,NameError) as result:  # NameError  变量没找到
    print("产生错误")
    print(result)

也可以捕获所有异常 except Exception

try:
    print("------test------1-----")
    f = open("123.txt","r")
    print("------test------2-----")
    print(num)
except Exception as result:  # 任何异常
    print("产生错误")
    print(result)

try -finally 嵌套使用

以下操作就是如果存在123.txt文件,就执行内部的try操作,同时考虑到如果在数据读取过程中出现什么中断导致数据操作没有成果需要定义finally使得文件最终是关闭的状态,保证不影响下次的操作

import time
try:
    print("------test------1-----")
    f = open("123.txt","r")
    try:
        while True:
            content = f.readline()
            if len(content)==0:
                break
            time.sleep(2)          # 休眠2毫秒
            print(content)
    finally:
        f.close()
        print('文件关闭')

except (IOError,NameError) as result:  # IOError 文件没找到,属于IO 输入输出异常
    print("产生错误")
    print(result)

 

你可能感兴趣的:(python)