本答案頁包含 Python 錯誤處理 的 4 道選擇題、4 道填空題和 4 道輸出預測題,每題都給出準確答案和簡短解釋。
答案已完整展示,建議先嘗試作答,再用本頁核對。第一次練習最好從互動練習頁開始。
int("abc") 會拋出哪個例外?
答案: ValueError
為什麼: 文字型別正確,但值無法轉換成 int。
存取字典中不存在的鍵會拋出哪個例外?
答案: KeyError
為什麼: 用方括號存取缺失鍵會觸發 KeyError。
try/except 的主要用途是什麼?
答案: 處理預期內的失敗並恢復
為什麼: 例外處理應該捕獲具體、可預期的失敗,並選擇兜底方案。
finally 程式碼區塊什麼時候執行?
答案: 總是執行,在 try 和 except/else 之後
為什麼: finally 用於無論成功失敗都必須執行的清理。
補全例外型別,處理非法的整數轉換。
try:
value = int(text)
except ____:
value = 0答案: ValueError
為什麼: 文字無法轉換成整數時,int() 會拋出 ValueError。
補全關鍵字,開始例外處理程式碼區塊。
try:
value = int(text)
____ ValueError:
value = 0答案: except
為什麼: except 引入處理比對例外的程式碼區塊。
補全例外型別,處理字典缺失鍵。
try:
price = order["price"]
except ____:
price = 0答案: KeyError
為什麼: 用方括號讀取缺失鍵會觸發 KeyError。
補全程式碼區塊,它用於總是執行的清理。
try:
print("work")
____:
print("cleanup")答案: finally
為什麼: 無論 try 成功還是失敗,finally 都會執行。
這段程式碼會輸出什麼?
try:
print(int("5"))
except ValueError:
print("bad")答案: 5
為什麼: 轉換成功,所以跳過 except 分支。
執行結果是什麼?
try:
print(int("x"))
except ValueError:
print("invalid")答案: invalid
為什麼: 轉換失敗,所以處理程式碼列印 invalid。
這段程式列印出什麼?
order = {}
try:
print(order["price"])
except KeyError:
print("missing")答案: missing
為什麼: 鍵不存在,所以執行 KeyError 處理程式碼。
程式碼的輸出結果是什麼?
try:
print("try", end=" ")
finally:
print("finally")答案: try finally
為什麼: finally 總會執行,第一個 print 沒有換行。
先試一遍題目
打開 Python 錯誤處理 練習頁,用即時回饋回答同樣的 12 道題。