python 进阶语法-异常捕获预处理 5 道练习题 | Python技能树征题

本篇博客主要为 https://bbs.youkuaiyun.com/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

试题仓库地址如下:

https://codechina.youkuaiyun.com/hihell/question

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦想橡皮擦

如有帮助,来瓶可乐

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值