内容正文:
《Python语言程序设计基础》(电子科技大学出版社)
第10章 Python异常处理
考试时间:90分钟 满分:100分
姓名 班级 学号
1、 单项选择题(本题共20小题,每题3分,共60分)
1.Python中,因程序执行过程中出错引发的错误称为( )
A. 语法错误
B. 解析错误
C. 异常
D. 编译错误
2.以下哪种属于语法错误( )
A. 除数为0
B. 变量未定义
C. print拼写为prin
D. 索引超出范围
3.异常处理的关键字不包括( )
A. try
B. except
C. finally
D. loop
4.以下关于异常的描述,正确的是( )
A. 仅由用户输入错误导致
B. 语法正确但执行时触发
C. 无法通过代码捕获处理
D. 比语法错误更容易避免
5.代码缩进不匹配导致的异常是( )
A. IndexError
B. KeyError
C. IndentationError
D. SyntaxError
6、尝试调用元组的remove()方法时触发的异常是( )
A. TypeError
B. AttributeError
C. ValueError
D. IndexError
7、用户定义的异常类应继承自哪个类( )
A. BaseException
B. Exception
C. Error
D. RuntimeError
8、关于使用不指定异常类型的except子句,以下说法正确的是( )
A. 推荐优先使用
B. 能精准处理特定异常
C. 可捕获所有类型的异常
D. 仅能捕获SyntaxError
9、以下关于raise语句的描述,正确的是( )
A. 只能抛出Python内置异常
B. 必须在try块中使用
C. 可强制改变程序执行路径
D. 抛出的异常无需except处理
10、raise语句后未指定异常类型,其作用是( )
A. 抛出默认异常
B. 结束当前循环,改变程序流程
C. 无任何作用
D. 报错终止程序
11、主动抛出异常后,异常由哪个部分处理( )
A. try块
B. else块
C. except块
D. finally块
12、断言语句assert condition[, expression]中,expression参数的作用是( )
A. 定义断言条件
B. 提供异常描述信息
C. 终止程序执行
D. 修复不成立的条件
13、断言的作用是( )
A. 增强程序容错性
B. 处理运行时异常
C. 开发时快速定位非法情况
D. 替代if条件判断
14、当断言的condition为true时,程序会( )
A. 抛出异常
B. 跳过后续代码
C. 继续执行后续代码
D. 输出expression信息
15、捕获自定义异常时,except子句的正确写法是( )
A. except 自定义异常类 as 变量名
B. except 自定义异常类() as 变量名
C. except 变量名 is 自定义异常类
D. except 自定义异常类:
16、以下关于自定义异常命名规范的描述,正确的是( )
A. 无固定规范
B. 通常以“Error”结尾
C. 必须以“Exception”结尾
D. 只能用小写字母
17、with语句中,enter()方法的执行时机是( )
A. with语句体执行之后
B. with语句体执行之前
C. 发生异常时
D. 释放资源时
18、以下关于with语句中“as target”的描述,正确的是( )
A. 必须存在,不能省略
B. 用于定义异常类型
C. 用于存储expression执行后的结果
D. 是expression的必需参数
19、使用with语句操作文件的优势是( )
A. 自动关闭文件,无需手动调用close()
B. 必须手动关闭文件
C. 只能读取文件,不能写入
D. 无法处理异常
20、try-finally语句的作用是( )
A. 仅捕获异常,不释放资源
B. 确保无论是否发生异常,文件都会关闭
C. 替代with语句
D. 无法处理多文件操作
2、 判断题(本题共10小题,每题2分,共20分)
1、异常发生后,程序会继续执行后续代码。( )
2、用户定义异常类时,必须直接继承BaseException。( )
3、多个except子句匹配时,所有符合条件的except块都会执行。( )
4、当断言的condition为false时,expression参数的内容会作为异常信息输出。( )
5、自定义异常的命名通常以“Error”结尾,符合Python的命名规范。( )
6、自定义异常可以添加任意自定义属性,用于存储异常详情。( )
7、使用with语句处理的对象,无需包含__enter__()和__exit__()方法。( )
8、with语句无法处理异常,需配合try-except使用。( )
9、try-finally语句能确保无论是否发生异常,文件都会被关闭。( )
10、with语句的expression参数通常用于执行资源分配。( )
3、 填空题(本题共10小题,每题2分,共20分)
1、类型不匹配导致的异常是_______。
2、异常处理中,______关键字用于监测可能发生异常的代码块。
3、执行raise语句后,raise后面的代码将不再执行,程序会跳转到对应的_______块处理异常。
4、当输入非数字时,主动抛出的异常类型是_______。
5、_______的作用是测试条件是否成立,常用于开发阶段快速定位问题。
6、程序运行时的异常情况,应使用________处理。
7、断言语句中,______参数是必须的,expression参数是可选的。
8、抛出自定义异常的关键字是________。
9、Python中上下文管理的关键字是_______。
10、使用with语句处理的对象必须包含_______和exit()两个方法。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
《Python语言程序设计基础》(电子科技大学出版社)
第10章 Python异常处理
考试时间:90分钟 满分:100分
姓名 班级 学号
1、 单项选择题(本题共20小题,每题3分,共60分)
1.Python中,因程序执行过程中出错引发的错误称为( )
A. 语法错误
B. 解析错误
C. 异常
D. 编译错误
【答案】C
【解析】异常是在程序执行过程中发生的事件,会影响程序正常执行;语法错误是编码时的语法问题,因此选C。
2.以下哪种属于语法错误( )
A. 除数为0
B. 变量未定义
C. print拼写为prin
D. 索引超出范围
【答案】C
【解析】print少写一个t属于语法错误,A、B、D均为执行时的异常,因此选C。
3.异常处理的关键字不包括( )
A. try
B. except
C. finally
D. loop
【答案】D
【解析】异常处理结构为try-except-else-finally,loop是循环关键字,因此选D。
4.以下关于异常的描述,正确的是( )
A. 仅由用户输入错误导致
B. 语法正确但执行时触发
C. 无法通过代码捕获处理
D. 比语法错误更容易避免
【答案】B
【解析】异常的特点是语法正确但执行出错,A还可由代码逻辑导致、C可通过异常处理捕获、D说法不一定,均错误,因此选B。
5.代码缩进不匹配导致的异常是( )
A. IndexError
B. KeyError
C. IndentationError
D. SyntaxError
【答案】C
【解析】IndentationError(缩进错误):未知缩进不匹配任何缩进等级,因此选C。
6、尝试调用元组的remove()方法时触发的异常是( )
A. TypeError
B. AttributeError
C. ValueError
D. IndexError
【答案】B
【解析】AttributeError的触发场景是元组对象没有属性remove(),因此选B。
7、用户定义的异常类应继承自哪个类( )
A. BaseException
B. Exception
C. Error
D. RuntimeError
【答案】B
【解析】所有的异常类都是从Exception继承,用户定义的类并不直接继承BaseException,因此选B。
8、关于使用不指定异常类型的except子句,以下说法正确的是( )
A. 推荐优先使用
B. 能精准处理特定异常
C. 可捕获所有类型的异常
D. 仅能捕获SyntaxError
【答案】C
【解析】不指定异常类型的except能正常工作,但不推荐,可捕获所有异常,包括运行时异常,无法精准处理,因此选C。
9、以下关于raise语句的描述,正确的是( )
A. 只能抛出Python内置异常
B. 必须在try块中使用
C. 可强制改变程序执行路径
D. 抛出的异常无需except处理
【答案】C
【解析】A错误,可抛自定义异常;B错误,可在任意位置,但无except会崩溃;D错误,需except处理,否则程序终止;因此选C。
10、raise语句后未指定异常类型,其作用是( )
A. 抛出默认异常
B. 结束当前循环,改变程序流程
C. 无任何作用
D. 报错终止程序
【答案】B
【解析】raise未指定异常类型,用于控制程序执行流程,因此选B。
11、主动抛出异常后,异常由哪个部分处理( )
A. try块
B. else块
C. except块
D. finally块
【答案】C
【解析】raise抛出异常后,由后续的except块捕获处理,因此选C。
12、断言语句assert condition[, expression]中,expression参数的作用是( )
A. 定义断言条件
B. 提供异常描述信息
C. 终止程序执行
D. 修复不成立的条件
【答案】B
【解析】expression用于描述异常信息,当condition不成立时,该信息会随AssertionError输出,因此选B。
13、断言的作用是( )
A. 增强程序容错性
B. 处理运行时异常
C. 开发时快速定位非法情况
D. 替代if条件判断
【答案】C
【解析】断言用来开发时快速定位问题的位置,针对非法情况,因此选C。
14、当断言的condition为true时,程序会( )
A. 抛出异常
B. 跳过后续代码
C. 继续执行后续代码
D. 输出expression信息
【答案】C
【解析】断言仅在condition为false时触发异常,为true时不影响程序流程,继续执行后续代码,因此选C。
15、捕获自定义异常时,except子句的正确写法是( )
A. except 自定义异常类 as 变量名
B. except 自定义异常类() as 变量名
C. except 变量名 is 自定义异常类
D. except 自定义异常类:
【答案】A
【解析】except 自定义异常类 as 变量名是标准写法,用as接收异常实例,因此选A。
16、以下关于自定义异常命名规范的描述,正确的是( )
A. 无固定规范
B. 通常以“Error”结尾
C. 必须以“Exception”结尾
D. 只能用小写字母
【答案】B
【解析】大多数异常的命名都以“Error”结尾,因此选B。
17、with语句中,enter()方法的执行时机是( )
A. with语句体执行之后
B. with语句体执行之前
C. 发生异常时
D. 释放资源时
【答案】B
【解析】enter()方法在with语句包裹的代码块执行之前进入运行,因此选B。
18、以下关于with语句中“as target”的描述,正确的是( )
A. 必须存在,不能省略
B. 用于定义异常类型
C. 用于存储expression执行后的结果
D. 是expression的必需参数
【答案】C
【解析】target是可选参数,存储的是expression表达式执行返回的结果,因此选C。
19、使用with语句操作文件的优势是( )
A. 自动关闭文件,无需手动调用close()
B. 必须手动关闭文件
C. 只能读取文件,不能写入
D. 无法处理异常
【答案】A
【解析】with语句会自动释放资源、关闭文件,无需手动调用close(),但 因此选A。
20、try-finally语句的作用是( )
A. 仅捕获异常,不释放资源
B. 确保无论是否发生异常,文件都会关闭
C. 替代with语句
D. 无法处理多文件操作
【答案】B
【解析】finally语句块中的代码无论try语句块中发生了什么都会执行,因此可以保证文件一定会关闭,因此选B。
2、 判断题(本题共10小题,每题2分,共20分)
1、异常发生后,程序会继续执行后续代码。( )
【答案】错误。异常会影响程序的正常执行,发生后程序会终止,故错误。
2、用户定义异常类时,必须直接继承BaseException。( )
【答案】错误。用户定义异常应继承自Exception,而非直接继承BaseException,故错误。
3、多个except子句匹配时,所有符合条件的except块都会执行。( )
【答案】错误。多个except子句匹配成功,则执行此except后面的处理语句块,执行完成后退出整个异常处理语句,仅执行一个,故错误。
4、当断言的condition为false时,expression参数的内容会作为异常信息输出。( )
【答案】正确。当断言的condition为false时,输出的异常信息包含expression的格式化内容,故正确。
5、自定义异常的命名通常以“Error”结尾,符合Python的命名规范。( )
【答案】正确。大多数异常的命名都以“Error”结尾,是通用规范,故正确。
6、自定义异常可以添加任意自定义属性,用于存储异常详情。( )
【答案】正确。自定义异常支持自定义属性,故正确。
7、使用with语句处理的对象,无需包含__enter__()和__exit__()方法。( )
【答案】错误。使用with处理的对象必须有__enter__()和__exit__()这两个方法,故错误。
8、with语句无法处理异常,需配合try-except使用。( )
【答案】错误。with能很好地管理上下文异常,无需额外try-except,故错误。
9、try-finally语句能确保无论是否发生异常,文件都会被关闭。( )
【答案】正确。finally语句块的作用是保证资源释放,无论是否发生异常,文件都会被关闭,故正确。
10、with语句的expression参数通常用于执行资源分配。( )
【答案】正确。with语句的expression参数通常用于执行资源分配,故正确。
3、 填空题(本题共10小题,每题2分,共20分)
1、类型不匹配导致的异常是_______。
【答案】TypeError
2、异常处理中,______关键字用于监测可能发生异常的代码块。
【答案】try
3、执行raise语句后,raise后面的代码将不再执行,程序会跳转到对应的_______块处理异常。
【答案】except
4、当输入非数字时,主动抛出的异常类型是_______。
【答案】ValueError
5、_______的作用是测试条件是否成立,常用于开发阶段快速定位问题。
【答案】断言
6、程序运行时的异常情况,应使用________处理。
【答案】try-except
7、断言语句中,______参数是必须的,expression参数是可选的。
【答案】condition
8、抛出自定义异常的关键字是________。
【答案】raise
9、Python中上下文管理的关键字是_______。
【答案】with
10、使用with语句处理的对象必须包含_______和exit()两个方法。
【答案】enter()
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$