仅需6道题轻松掌握Python异常捕获 | Python技能树征题

这篇具有很好参考价值的文章主要介绍了仅需6道题轻松掌握Python异常捕获 | Python技能树征题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0. 前言

由于 Python 直接从源代码运行程序,在 Python 测试或运行代码之前没有编译器进行代码分析,因此测试和异常处理是 Python 程序开发的中的重要组成部分,我们就通过 6Python 编程题来掌握常见异常处理的方法吧!

1. 第 1 题:在单元测试中测试异常

知识点描述:使用测试用例判断异常是否被抛出。
问题描述:测试某个函数抛出的 KeyError 异常的情况,请从以下选项中选出你认为正确的选项:
A.

import unittest
def parse_dict(dictionary, key):
    return dictionary[key]
class TestConversion(unittest.TestCase):
    def test_bad_key(self):
        self.assertRaises(KeyError, parse_dict, 'NULL')

B.

import unittest
def parse_dict(dictionary, key):
    return dictionary[key]
class TestConversion(unittest.TestCase):
    def test_bad_key(self):
        self.assertRaises(KeyError)

C.

import unittest
def parse_dict(key):
    return key
class TestConversion(unittest.TestCase):
    def test_bad_key(self):
        self.assertRaises(KeyError)

D.

import unittest
def parse_dict(key):
    return key
class TestConversion(unittest.TestCase):
    def test_bad_key(self):
        self.assertRaises(KeyError, parse_dict, 'NULL')

正确答案: A

2. 第 2 题:多个异常的处理

知识点描述:处理一个代码片段可能抛出的多个不同异常。
问题描述:有一个可能抛出多个不同异常的代码段,如何使用简洁的代码处理所有可能的异常:
A.

from urllib import error, request
urls = ['https://blog.csdn.net','https://www.baidu.com/aaa', 1, 'https://error.url']
for url in urls:
    try:
        request.urlopen(url)
    except (error.URLError, AttributeError):
        urls.remove(url)
print(urls)

B.

from urllib import error, request
urls = ['https://blog.csdn.net','https://www.baidu.com/aaa', 1, 'https://error.url']
for url in urls[::-1]:
    try:
        request.urlopen(url)
    except AttributeError:
        urls.remove(url)
print(urls)

C.

from urllib import error, request
urls = ['https://blog.csdn.net','https://www.baidu.com/aaa', 1, 'https://error.url']
for url in urls[::-1]:
    try:
        request.urlopen(url)
    except error.URLError:
        urls.remove(url)
print(urls)

D.

from urllib import error, request
urls = ['https://blog.csdn.net','https://www.baidu.com/aaa', 1, 'https://error.url']
for url in urls[::-1]:
    try:
        request.urlopen(url)
    except (error.URLError, AttributeError):
        urls.remove(url)
print(urls)

正确答案: D

3. 第 3 题:捕获所有异常

知识点描述:捕获代码中存在的所有异常。
问题描述:如何捕获代码中存在的所有异常,请从以下选项中选出你认为正确的选项:
A.

list_1 = [...]
list_2 = [...]
def add_list(list_1, list_2):
    for i in range(len(list_1)):
        r = list_1[i] + list_2[i+1]
try:
    add_list(list_1, list_2)
except Exception as error:
    print(e)

B.

list_1 = [...]
list_2 = [...]
def add_list(list_1, list_2):
    for i in range(len(list_1)):
        r = list_1[i] + list_2[i+1]
try:
    add_list(list_1, list_2)
except Exception as e:
    print(e)

C.

list_1 = [...]
list_2 = [...]
def add_list(list_1, list_2):
    for i in range(len(list_1)):
        r = list_1[i] + list_2[i+1]
try:
    add_list(list_1, list_2)
except Exception:
    print(e)

D.

list_1 = [...]
list_2 = [...]
def add_list(list_1, list_2):
    for i in range(len(list_1)):
        r = list_1[i] + list_2[i+1]
try:
    add_list(list_1, list_2)
except Exception:
    print(Exception)

正确答案: B

4. 第 4 题:创建自定义异常

知识点描述:将异常包装成自定义异常。
问题描述:在构建的网络相关程序中,定义自定义异常,请从以下选项中选出你认为正确的选项:
A.

class NetworkError(Exception):
    def __init__(self, message, status):
        super.__init__(self, message, status)
        self.message = message
        self.status = status

B.

class NetworkError(Exception):
    def __init__(self, message, status):
        self.message = message
        self.status = status

C.

class NetworkError(Exception):
    def __init__(self, message, status):
        super().__init__(self, message, status)
        self.message = message
        self.status = status

D.

class NetworkError(Exception):
    def __init__(self, message, status):
        super().__init__(message, status)
        self.message = message
        self.status = status

正确答案: C

5. 第 5 题:捕获异常后抛出其他异常

知识点描述:捕获一个异常后抛出另一个异常。
问题描述:捕获一个异常后抛出另一个异常,同时在异常回溯中保留两个不同异常的信息,请从以下选项中选出你认为正确的答案:
A.

example = {'python': 'simple', 'c': 'fast'}
try:
    print(example['java'])
except ValueError as e:
    raise RuntimeError('A error occurred') from e

B.

example = {'python': 'simple', 'c': 'fast'}
try:
    print(example['java'])
except KeyError as e:
    raise RuntimeError('A error occurred') from e

C.

example = {'python': 'simple', 'c': 'fast'}
try:
    print(example['java'])
except TypeError as e:
    raise RuntimeError('A error occurred') from e

D.

from datetime import datetime
def hello_world(num):
    return "Hello world {}!".format(num)
for i in range(10):
    with open('log.txt', 'wt') as f:
        print(str(datetime.today()) + '\t' + hello_world(i), file=f)

正确答案: B

6. 第 6 题:重新抛出被捕获的异常

知识点描述:在 except 块中捕获异常后,重新将错误抛出。
问题描述:在一个 except 代码块中捕获一个异常,但是之后想要将其重新抛出,请从以下选项中选出你认为正确的答案:
A.

example = {'python': 'simple', 'c': 'fast'}
try:
    print(example['java'])
except KeyError as e:
    print(example)
    raise

B.

example = {'python': 'simple', 'c': 'fast'}
try:
    print(example['java'])
except KeyError as e:
    print(example)
    raise RuntimeError

C.

example = {'python': 'simple', 'c': 'fast'}
try:
    print(example['java'])
except ValueError as e:
    print(example)
    raise RuntimeError

D.

example = {'python': 'simple', 'c': 'fast'}
try:
    print(example['java'])
except ValueError as e:
    print(example)
    raise

正确答案: A

试题代码地址

https://codechina.csdn.net/LOVEmy134611/python_problem文章来源地址https://www.toymoban.com/news/detail-401130.html

到了这里,关于仅需6道题轻松掌握Python异常捕获 | Python技能树征题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从零开始学习JavaScript:轻松掌握编程语言的核心技能⑤

    🏘️🏘️个人简介:以山河作礼。 🎖️🎖️: Python领域新星创作者,CSDN实力新星认证,阿里云社区专家博主 🎁🎁:Web全栈开发专栏:《Web全栈开发》免费专栏,欢迎阅读! 📑📑 在 JavaScript 中,函数可以通过 function 来定义 。 📌 函数定义的一般语法如下: 其中,

    2024年02月08日
    浏览(49)
  • 从零开始学习JavaScript:轻松掌握编程语言的核心技能①

    🏘️🏘️个人简介:以山河作礼。 🎖️🎖️: Python领域新星创作者,CSDN实力新星认证,阿里云社区专家博主 🎁🎁:Web全栈开发专栏:《Web全栈开发》免费专栏,欢迎阅读! 📜📜 JavaScript 是一种脚本语言,用于在 Web 页面上执行交互式操作和动态效果 。它最初由 Brendan

    2024年02月07日
    浏览(53)
  • 从零开始学习JavaScript:轻松掌握编程语言的核心技能④

    🏘️🏘️个人简介:以山河作礼。 🎖️🎖️: Python领域新星创作者,CSDN实力新星认证,阿里云社区专家博主 🎁🎁:Web全栈开发专栏:《Web全栈开发》免费专栏,欢迎阅读! 📌 JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。 表单数据经常需

    2024年02月08日
    浏览(36)
  • C++ 异常处理机制详解:轻松掌握异常处理技巧

    C++ 异常处理机制允许程序在运行时处理错误或意外情况。它提供了捕获和处理错误的一种结构化方式,使程序更加健壮和可靠。 异常: 程序在运行时发生的错误或意外情况。 抛出异常: 使用 throw 将异常传递给调用堆栈。 捕获异常: 使用 try-catch 块捕获和处理异常。 异

    2024年04月28日
    浏览(34)
  • 【入门必看,MySQL从0到1系列- 数据库保姆级图解教程:轻松掌握数据库管理技能】

    MySQL 是全球最流行的用于管理关系数据库的开源数据库软件。除了具有强大的功能外,它还比 Microsoft SQL Server 和 Oracle 数据库快速、可扩展且更易于使用。因此,PHP 脚本通常用于创建功能强大且动态的服务器端/基于 Web 的应用程序。 注意:  数据库是数据的结构化集合 SQL

    2024年02月09日
    浏览(44)
  • Python 异常捕获与处理

    当我们写程序难免遇到报错,专业的称呼叫做异常,行业俗语叫做bug,由于异常情况出现会导致代码停止运行,所以在编写过程中要尽可能避免。 语法错误 这一类错误很好理解,相当于你不会写,比如用if或for的时候不知道他们怎么写,这种情况比较夸张了,好好学过的人都

    2023年04月22日
    浏览(38)
  • 如何在Python中捕获异常

    本文主要介绍 Python 捕获异常的各种技术。首先,回顾 Python 的异常处理机制,然后深入研究并学习如何识别捕获的异常内容,以及忽略异常。 公众号: 滑翔的纸飞机 Python 代码在运行的过程中,偶尔将出现意料之内或之外的错误从而引发异常。例如,如果尝试读取不存在的

    2024年01月22日
    浏览(30)
  • Python十类常见异常类型(附捕获以及异常处理方式)

    大家好,我是辣条哥!今天给大家讲讲我们刚开始写代码是都会出现的问题-我们刚开始常见的异常以及处理方法! 异常是指在程序运行过程中出现的错误或异常情况,例如除以0、访问不存在的变量等。Python提供了一些内置的异常类型,同时也支持自定义异常类型。 想找辣条

    2024年02月08日
    浏览(72)
  • Java开发者的Python快速进修指南:异常捕获

    在之前的学习中,我们已经讲解了函数和控制流等基本概念。然而,在接触实际业务时,你会发现异常捕获也是必不可少的一部分,因为在Java编程中,异常处理是不可或缺的。Python的异常捕获与Java的异常捕获原理是相同的,只是在写法上有一些区别。它们的目的都是为了处

    2024年02月05日
    浏览(62)
  • 快速掌握WebSocket:仅需10分钟的速成教程!

    WebSocket是一种在客户端和服务器之间实现双向通信的网络协议。它通过在单个TCP连接上提供全双工通信功能,使得服务器可以主动向客户端推送数据,而不需要客户端发起请求。 与传统的HTTP协议相比,WebSocket具有以下几个显著的区别: 双向通信 :WebSocket支持客户端和服务器

    2024年02月20日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包