异常名称 | 说明 |
---|---|
Exception | 通用异常类型(基类) |
ZeroDivisionError | 不能整除0 |
AttributeError | 对象没有这个属性 |
IOError | 输入输出操作失败 |
IndexError | 没有当前的索引 |
异常名称 | 说明 |
---|---|
KeyError | 没有这个键值(key) |
NameError | 没有这个变量(未初始化对象) |
SyntaxError | python语法错误 |
SystemError | 解释器的系统错误 |
ValueError | 传入的参数错误 |
(1)AttributeError
class Test(object): pass t = Test() try: t.name except AttributeError as e: print(e)
运行结果:
(2)KeyError
d = {'naem': 'xy'} try: d['age'] except KeyError as e: print('没有对应的键:', e)
运行结果:
(3)IndexError
l = [1, 2, 3] try: l[5] except IndexError as e: print(e)
运行结果:
(4)ValueError
name = 'dewei' try: int(name) except ValueError as e: print(e)
运行结果:
(5)TypeError
def test(a): return a try: test() except TypeError as e: print(e)
运行结果:
try: <代码块> except: <代码块> finally: <代码块>
函数已经return后依旧会执行finally,再次印证了finally是强制执行的。
def test3(): try: print('try test 11') return 'try' except Exception as e: print('e') finally: print('finally test') print('------------------') result = test3() print(result)
运行结果: