try:
代码模块1
except:
代码模块2
exemple:
1 def print_dict(dic): 2 i = 0 3 try: 4 len1 = len(dic) 5 while i<len1: 6 print(dic.popitem()) 7 i+=1 8 except: 9 print("传值类型错误")
print_dict({1:'a', 2:'b'}) print_dict([1, 2, 3])
to exect
知识点:
try:
代码模块1
except:
代码模块2
finally:
代码模块3
说明:finally关键字后的代码模块3,实现代码模块1是否出错都会执行的代码功能
exemple1:
1 try: 2 1/0 3 4 except: 5 print("除数不能为0") 6 finally: 7 print("程序运行结束")
to exect
exemple2:
1 try: 2 print(1/2) 3 except: 4 print("除数不能为0") 5 finally: 6 print("程序执行结束")
to exect
example3:
1 import sys 2 try: 3 1/0 4 except: 5 print("除数不能为0") 6 sys.exit() 7 finally: 8 print("程序执行结束") 9 print("我能执行吗")
to exect
比较与分析:从示例1和示例2可以看出,无论整除是够出错(try中的代码块是否会出现异常),finally子句后的代码都会执行
示例3演示了1/3出发异常后,执行except子句里的print和sys.exit(),exit()要求退出该程序,
在程序退出前强制执行了finally子句的内容,然后再退出程序,没有执行最后一条print语句。
示例3明确的体现了finally子句的强制性。
1 i = "1" 2 if type(i) != int: 3 raise TypeError("类型错误")