本文介绍如何统一处理常见的多类异常:TypeError、OSError、ValueError、KeyError、SyntaxError
只需要在except后面用(),将多个需要统一处理的异常括起来。
代码如下:
try:
list1 = [1, 2, 3,,] #SyntaxError--语法错误,去掉一个‘,’号
int('asd') #ValueError --值错误,‘asd’不可int()
sum = 1 + '1' #TypeError--类型错误“int”和“str”类型不可相加
dict1 = {}
keys = input('请输入:')
print(keys, dict1[keys]) #KeyError--无效的键,输入的键在字典中不存在
f = open('不存在的文档.txt')
print(f.read()) #FileNotFoundError或OSError--打开文本无效,不存在的文本
f.close()
except (OSError, TypeError, ValueError, KeyError, SyntaxError) as e:
print('出错了,\n错误原因是' + str(e))