第七章 异常处理
7.1 异常处理与程序健壮性
1.使用异常可以避免程序出现逻辑错误。
解:错误
2.python中可以使用throw关键字抛出异常。
解:错误
使用raise抛出异常
3.和循环一样,Python的异常处理中也可以使用else关键字。
解:正确
4.一个except后面紧跟着冒号,表示可以捕获任意类型的异常。
解:正确
5.如果一个函数func中的代码引发了异常,且该函数无处理异常的代码,那么该异常将会传递到调用func函数的地方。
解:正确
6.异常处理结构中的finally块中的代码仍然有可能出错,从而再次引发异常
解:正确
7.在try…except…else结构中,如果try块的语句引发了异常则会执行else块中的代码
解:错误
使用 else 包裹的代码,只有当 try 块没有捕获到任何异常时,才会得到执行;反之,如果 try 块捕获到异常,即便调用对应的 except 处理完异常,else 块中的代码也不会得到执行。
8.except语句中,可以不必指定异常的类型
解:正确
9.一条except语句可以包含多个异常
解:正确
10.一个try语句可能包含多个except子句,except也可以同时处理多个异常。
解:正确
11.异常处理只能处理那些直接发生在try子句中的异常,但不能处理子句中调用的函数里抛出的异常。
解:错误
12.Python内建异常类的基类是__
解:BaseException
7.2 异常处理实际应用
1.如下程序运行后如果输入5,a ,那么运行结果是_
def main():
a,b=eval(input())
try:
s=a/b
print(s)
except:
print("Divide 0!")
main()
A.程序出错
B.5
C.a
D.Divide 0!
解:A
a并未提前定义,所以在赋值的时候就会出错。
2.当Python程序发生异常时需要捕获和处理,否则程序会终止执行。
解:正确
3.异常处理时,如果一个except后面没有写任何参数,那么表示该except可以捕获任意类型的异常。
解:正确
4.异常被捕获和处理后,将会自动返回触发异常的下一句代码继续自动执行。
解:错误
5.Python中,可以使用raise语句主动触发异常
解:正确
6.Python中,可以根据需求,自行定义异常类
解:正确
7.try…except…else语句块中,可以包含多条except语句
解:正确
8.在捕获到异常时,如果不想处理异常,而是让程序继续运行下去,可以使用pass语句
解:正确
9.Python中,对于代码中的每个try,必须至少有一个except与它匹配
解:正确
10.以下这段代码,如果在运行过程中出问题了,文件 f 不会关闭。
with open('myfile.txt') as f:
for line in f:
print(line, end='')
解:错误
11.使用____关键字,可以保证之后的代码块无论是否发生异常,一定会被执行。
解:finally
12.Python使用____语句抛出一个指定的异常。
解:raise