1.常见异常的类型
常见异常类 | 描述 |
---|---|
FloatingPointError | 浮点计算错误 |
OverflowError | 数值运算超出最大限制 |
ZeroDivisionError | 除(或取模)零 (所有数据类型) |
AttributeError | 对象没有这个属性 |
IOError | 输入/输出操作失败 |
ImportError | 导入模块/对象失败 |
IndexError | 序列中没有此索引(index) |
KeyError | 映射中没有这个键 |
MemoryError | 内存溢出错误(对于Python 解释器不是致命的) |
ValueError | 传入无效的参数 |
题目一
下列异常处理中正确输出了’get you!'的是:
A.
try:
a = [1, 2, 3]
print(a[4])
except MemoryError:
print('get you!')
B.
try:
a = [1, 2, 3]
print(a[4])
except OverflowError:
print('get you!')
C.
try:
a = [1, 2, 3]
print(a[4])
except KeyError:
print('get you!')
D.
try:
a = [1, 2, 3]
print(a[4])
except IndexError:
print('get you!')
正确答案:D
题目二
下列异常处理中正确输出了’get you!'的是:
A.
try:
a = {}
a[1] += 1
except IndexError:
print('get you!')
B.
try:
a = [1, 2]
a.add(3)
except AttributeError:
print('get you!')
C.
try:
a = [1, 2]
a = a.extend(a)
a[-1] += 1
except IndexError:
print('get you!')
D.
try:
file = open('a.txt', 'w')
file.write('write!')
except IOError:
print('get you!')
正确答案:B
2.except、else与finally
except:发生异常,执行这块代码
else:如果没有异常执行这块代码
finally:无论是否发生异常都将执行最后的代码
题目三
以下代码段的正确输出是:
# 计算前20位斐波那契数
try:
a = []
a[0], a[1] = 1, 1
for i in range(2, 20):
a[i] = a[i - 1] + a[i - 2]
except KeyError:
print('a', end='')
except IndexError:
print('b', end='')
else:
print('c', end='')
finally:
print('d', end='')
A. ac
B.ad
C.bc
D.bd
正确答案:D