Python基礎(九) 異常處理

2021-08-02 16:35:03 字數 1517 閱讀 1724

python提供了一種叫做異常處理的機制,使得程式在執行階段發生錯誤時,程式設計師有機會處理並恢復。

異常是一種執行時錯誤,通常是由於程式的執行狀態超出了程式設計師所掌控的範圍。

如果乙個程式設計師在程式中沒有明確地包含異常處理的**,python將會輸出棧回溯錯誤資訊並在異常發生的地方終止程式。

一種更加健全的程式會使用try語句明確地處理提到的異常。

如:

try:

numdependents = int(input(『enter number

of dependents:』))

except valueerror:

print(『\nyou did not respond with

aninteger

value.』)

print(『\nwe will assume your answer is zero.』)

numdependents = 0

taxcredits = 1000 * numdependents

print(『tax credits:』, taxcredits)

python首先嘗試去執行try語句塊,如果乙個valueerror異常發生了,則跳到except子句。不論是否發生異常,最後兩條語句都會被執行。

乙個try語句可以包含幾個except子句。下面是三種except子句型別:

except:發生了任何異常都會執行這個語句塊中的內容。

except excptiontype:只有發生了特定型別的異常才會執行這個語句塊中的內容。

except excptiontype as exp: 只有發生了特定型別的異常才會執行這個語句塊中的內容。問題的附加資訊賦值給了exp變數

如果在之前討論的try語句中,except子句是如下形式的話:

except valueerror as exc:
name變數exc將會被賦值為異常的型別。

try語句在except子句後可以包含乙個else子句。當沒有錯誤發生時,將執行else子句下的語句。在這裡可以放置不需要異常處理保護的**。

乙個try語句可以以乙個finally子句結束,通常來說,finally子句中的語句用來清理資源,例如未被關閉的檔案等。

乙個try語句必須至少包含except或finally子句中的乙個。

1、如果乙個程式在非典型狀態下仍然執行良好,我們就說這個程式是魯棒的。try語句是建立魯棒性程式的主要工具。

2、乙個單獨的except子句可以涉及多種錯誤型別。如果是這樣的話,錯誤名稱需要在元組中列出來。

例如:乙個可能的except子句是:

except(valueerror,nameerror) as exc:

Python基礎知識(九)異常處理

1 syntaxerror 語法錯誤 try 有可能出現異常 except 異常型別as例項 捕獲特定異常 finally 不論是否遇到異常均會執行 raise 手動丟擲異常 else 未遇到異常 測試案例 測試類測試 import unittest from coder import coder ...

python基礎 異常處理

1 0 name 2 3 3 k try print 1111 1 0 print 2222 name 2 3 3 k ret int input number print ret except valueerror print 輸入的資料型別有誤 except exception print 你錯...

python基礎 異常處理

異常是程式執行過程 現的非正常流程現象。異常是無法避免的,只能先預估出可能出現的異常現象,並提供對應的處理機制,在異常出現後保障程式不被中斷執行。格式一 常用 try 可能引發異常現象的 except 出現異常現象的處理 格式二 不常用 try 可能引發異常現象的 finally try 塊結束後執...