异常

捕捉异常

def print_D(dic):
    i=0
    try:                                            #捕捉机制开始
        len1=len(dic)
        while i<len1:
            print(dic.popitem())
            i+=1
    except:                                         #捕捉异常信息
        print("传递值类型出错,必须为字典型!")          #给出友好的提示信息
#=========================================================================调用print_D函数
print_D({1:'a',2:'b'})                              #正常字典对象
print_D([1,2,3])                                    #传入错误对象

# (2, 'b')
# (1, 'a')
# 传递值类型出错,必须为字典型!

带finally子句的异常处理

import sys
try:
    1/0
except:
    print("除数不能为0")
    sys.exit()                              #没有这句则会执行  print("无法被执行")
finally:
    print("finally强制执行结束")             #不管有没有sys.exit()都强制执行
print("无法被执行")

# 除数不能为0
# finally强制执行结束

finally子句的强制性

从exception父类集成的部分异常子类

ValueError IndexError NmaeError KeyError TypeError MoudleNotFoundError SyntaxError AttributeError
try:
    '''指定一个特定出错类'''
    i+=1                                                #没有预先定义将出错
except NameError:                                       #确定是对象没有定义出错
    print("i变量名要先初始定义才能自增运算")

#i变量名要先初始定义才能自增运算
posted @ 2020-11-16 10:25  17。  阅读(44)  评论(0)    收藏  举报