Python核心编程第二版 第十章课后答案
10.1
引发异常。以下的哪个因素会在程序执行时引发异常?注意这里我们问的并不是异常
的原因。
a) 用户;
b) 解释器;
c) 程序;
d) 以上所有;
e) 只有 b) 和 c);
f) 只有 a) 和 c)
1 | f |
10-2.引发异常。参考上边问题的列表,哪些因素会在执行交互解释器时引发异常?
1 | f |
10-3.关键字。用来引发异常的关键字有哪些?
1 | raise |
10-4.关键字。try-except和try-finally有什么不同?
try-except:当try代码块运行出错,except代码块才会被执行(匹配到相应异常时),处理完异常后try-except后的代码会继续往下执行;
try-finally:不管try代码块是否出现异常,最终都会执行finally里的代码。如果出现异常,执行完finally代码块后,异常会继续往上层抛。
10-5.异常。下面这些交互解释器下的Python代码段分别会引发什么异常(参阅表10.2给出的内建异常清单):
(a)>>>if 3 < 4 then:print '3 is less than 4!'
(b)>>>aList = ['Hello','World','Anyone','Home?']
>>>print 'the last string in aList is: ',aList[len(aList)]
(c)>>>x
(d)>>>x = 4 % 0
(e)>>>import math
>>>i = math.sqrt(-1)
1 2 3 4 5 | (a) SyntaxError: invalid syntax (b) IndexError: list index out of range (c) NameError: name 'x' is not defined (d) ZeroDivisionError: integer division or modulo by zero (e) ValueError: math domain error |
10-6.改进的open()。为内建的open()函数创建一个封装。使得成功打开文件后,返回文件句柄:若打开失败则返回给调用者None,而不是生成一个异常。这样你打开文件就不需要额外的异常处理语句。
10-7.异常。下面两端Python伪代码a)和b)有什么区别?考虑语句A和B的上下文环境。(这么细致的区别要感谢Guido!)
(a)try:
statement_A
except . . .:
. . .
else:
statement_B
(b) try:
statement_A
statement_B
except . . .:
. . .
1 2 | 情况1: 如果statement_A执行出错,则(a)和(b)都不会执行statement_B; 情况2: 如果statement_A执行正常,则(a)和(b)都会执行statement_B——但是,如果statement_B的执行也出错,(b)可以在except子句里捕获到异常并做处理,而(a)则只能将statement_B产生的异常抛给上层调用者。 |
__EOF__

本文链接:https://www.cnblogs.com/jiaoyang77/p/7488960.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗