python 进阶语法-异常捕获预处理 5 道练习题 | Python技能树征题
Posted 梦想橡皮擦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 进阶语法-异常捕获预处理 5 道练习题 | Python技能树征题相关的知识,希望对你有一定的参考价值。
本篇博客主要为 https://bbs.csdn.net/skill/python 频道练习题模块补充题目,暂定每天提供 5 or 6 道测试题,后面可能会更多哦~。
本篇博客对【进阶语法】→ 【异常捕获预处理】 进行出题。
以下题目,默认将正确答案,放置在选项 A 位置
知识点:python 进阶语法-异常捕获预处理
第 1 题:
题目难度:2 星
题干(问题描述):
在 Python 的 sys 模块中,exc_info()
方法也可以输出异常,假设运行目录不存在 a.txt
文件,下述代码能正确抛出字符串错误信息的是?
选项 A:
import sys
try:
with open('a.txt',"r") as f:
f.read()
except:
ex_type, ex_val, ex_stack = sys.exc_info()
print(ex_val)
选项 B:
import sys
try:
with open('a.txt',"r") as f:
f.read()
except:
ex_type, ex_val = sys.exc_info()
print(ex_val)
选项 C:
import sys
try:
with open('a.txt',"r") as f:
f.read()
except:
ex = sys.exc_info()
print(ex)
选项 D:
import sys
try:
with open('a.txt',"r") as f:
f.read()
except Exception,e:
ex = sys.exc_info()
print(ex)
正确答案:A
第 2 题:
题目难度:1 星
以下代码有几处错误?
my_dict = {
"name":"梦想橡皮擦",
"age":18
}
while key in my_dict
print(key)
选项 A:
3
选项 B:
2
选项 C:
1
选项 D:
0
正确答案:A
第 3 题:
题目难度:2 星
题干(问题描述):
定义一个异常类 OverNumberError ,当用户输入数字大于 100 时,抛出异常内容 “输入数字过大!”
选项 A:
class OverNumberError(Exception):
def __init__(self):
super(Exception, self).__init__()
def __str__(self):
return "输入数字过大!"
try:
user_input = input("输入一个数字:")
if int(user_input) > 100:
raise OverNumberError()
except OverNumberError as e:
print(e)
选项 B:
class OverNumberError():
def __init__(self):
pass
def __str__(self):
return "输入数字过大!"
try:
user_input = input("输入一个数字:")
if int(user_input) > 100:
raise OverNumberError()
except OverNumberError as e:
print(e)
选项 C:
class OverNumberError(Exception):
def __init__(self):
super(Exception, self).__init__()
def __str__(self):
raise "输入数字过大!"
try:
user_input = input("输入一个数字:")
if int(user_input) > 100:
raise OverNumberError()
except OverNumberError as e:
print(e)
选项 D:
class OverNumberError(Exception):
def __init__(self):
super(Exception, self).__init__()
def __str__(self):
raise "输入数字过大!"
try:
user_input = input("输入一个数字:")
if int(user_input) > 100:
raise OverNumberError()
except Exception as e:
print(e)
正确答案:A
第 4 题:
题目难度:1 星
题干(问题描述):
请问下述代码输出什么内容?
try:
num = 1/0
except:
print("except 语句")
else:
print("else 语句")
finally:
print("finally 语句")
选项 A:
except 语句
finally 语句
选项 B:
finally 语句
选项 C:
else 语句
finally 语句
选项 D:
else 语句
正确答案:A
第 5 题:
题目难度:2 星
题干(问题描述):
请问下述代码运行的结果是?
def child_func():
try:
a = 10 / 0
print("child_func 函数")
except ZeroDivisionError as e:
pass
def parent_func():
try:
c = child_func()
print("parent_func 函数")
except Exception as e:
print("异常信息:", e)
if __name__ == '__main__':
parent_func()
选项 A:
parent_func 函数
选项 B:
异常信息: division by zero
parent_func 函数
选项 C:
异常信息: division by zero
选项 D:
child_func 函数
parent_func 函数
正确答案:A
试题仓库地址如下:
以上是关于python 进阶语法-异常捕获预处理 5 道练习题 | Python技能树征题的主要内容,如果未能解决你的问题,请参考以下文章