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代码块后,异常会继续往上层抛。

i = 1 try: num = 10%i except: print('except') try: num = 10%i finally: print('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,而不是生成一个异常。这样你打开文件就不需要额外的异常处理语句。

def try_open(filename,mode = 'r'): try: f = open(filename,mode) except IOError: return None return f

 

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 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   闪电旅途  阅读(339)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示