Python核心編程第二版 第十章課後答案
阿新 • • 發佈:2017-09-07
syntax arp 語句 打開文件 ast pre 代碼塊 any 運行
10.1
引發異常。以下的哪個因素會在程序執行時引發異常?註意這裏我們問的並不是異常
的原因。
a) 用戶;
b) 解釋器;
c) 程序;
d) 以上所有;
e) 只有 b) 和 c);
f) 只有 a) 和 c)
f
10-2.引發異常。參考上邊問題的列表,哪些因素會在執行交互解釋器時引發異常?
f
10-3.關鍵字。用來引發異常的關鍵字有哪些?
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)
(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,而不是生成一個異常。這樣你打開文件就不需要額外的異常處理語句。
Python核心編程第二版 第十章課後答案