语法:
try:
可能出现问题的代码
except 异常类型 as err:
出现该异常类型时会执行的代码
finally:
不管异常有没有被捕获,都会执行
1.异常类型
ImportError:无法导入模块或包 IndexError:下标索引超出序列边界 NameError:使用一个还未赋予对象的变量 SyntaxError:代码逻辑语句出错,不能执行,不能去捕获 TypeError:传入的水箱类型与要求不符 ValueError:传入一个不被期望的值,即使类型正确 KeyError:试图访问里字典里不存在的键 IOError:输入输出异常
NameError:name 'a' is not defined
#a没有被定义,就被打印,会报错
print(a)
解决办法是使用一个变量前,要确保被定义,如下的代码都不满足条件时,可以使用else输出并给变量age赋值。
age = -3
if age > 18:
name = 'pang'
elif age > 0:
name = '困困'
else:
name = 'pangkunkun'
print(name)
输出:pangkunkun
SyntaxError:invalid syntax
# 很特殊的错误,表示你还没掌握python的基础语法
#SyntaxError: invalid syntax
print('hello'))
IndexError:list index out of range
# IndexError
mlist=[1,2,3]
# IndexError:list index out of range
print(mlist[100])
KeyError:KeyError: 'age'
# KeyError :KeyError: 'age'
c = {'name': 'pankunkun'}
print(c['a