【Python】程序的分支結構之異常處理

異常處理

num=eval(input("請輸入一個整數:"))
print(num**2)

這是一個讓用戶輸入一個整數,對其輸入整數進行平方運算並輸出的運算

如果當用戶沒有輸入整數時,會產生異常,怎麼處理?

 Exited with error status 1
請輸入一個整數:Traceback (most recent call last):
  File "e58c31cd143382c0b3b85e1158b3b47f", line 1, in <module>
    num=eval(input("請輸入一個整數:"))
  File "<string>", line 1, in <module>
NameError: name 'abc' is not defined

第三行的line1 表示了異常發生的代碼行數
最後一行 NameError 表示異常類型,說明命名出現了錯誤
name 'abc' is not defined表示異常內容提示

異常處理的基本使用
try<語句塊1>
except<語句塊2>

我們把一塊要執行的語句放在try語句對應的語句塊1中,如果它出現了異常,我們執行except對應的語句塊2,如果它不出現任何異常,那就不執行語句塊2,直接執行語句塊1之後執行後續語句。

try<語句塊1>
except <異常類型><語句塊2>

爲了進一步區分不同的異常類型,可以在except中增加一個異常類型標記,表示只有在這種異常類型發生時,纔會執行語塊2。

try:
	num = eval(input("請輸入一個整數:"))
	print(num**2)
except: #NameError:
	print("輸入不是整數")
異常處理的高級使用
try<語句塊1>
except<語句塊2>
else<語句塊3>
finally<語句塊4>

無論前面是否發生異常,finally對應的語句塊4一定會執行,else對應的語句塊3在不發生異常時執行。可以理解爲,首先執行語句塊1,如果不發生異常去執行語句塊3,如果發生異常去執行語句塊2,無論發不發生異常,最後都要執行語句塊4。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章