《Head First Python》學習筆記03 異常處理

來源:互聯網
上載者:User

異常(執行階段錯誤):       

       當代碼邏輯遇到意外事件時,比如開啟一個檔案,卻發現檔案不存在。這時是增加額外的代碼處理邏輯,還是捕獲異常呢?答案是:Python優先推薦捕獲異常,然後恢複。

 

Python異常機制

       把異常當作正常情況處理。先嘗試運行可能出現異常的代碼,有異常就捕獲,然後恢複。

 

 

額外的代碼和邏輯,還是異常處理?

           1.增加額外的代碼和邏輯隨著你考慮的錯誤越多,要添加的代碼和邏輯也就越多,直到可能會掩蓋程式本來邏輯。而異常處理方案不存在這個問題,使用異常處理你可以一目瞭然的看出程式的主要邏輯。

       2.而且你很難考慮到所有可能的錯誤情況。用異常處理機制可以輕鬆應對所有的異常。

       3.增加額外的代碼和邏輯導致可能和實際錯誤的耦合性太大,代碼要跟著情況變。而異常處理只需要關注是哪種異常。

           4.使用Python的異常處理機制,你可以專心關注程式真正需要做什麼,而不是操心哪兒可能出問題,並編寫額外的代碼來避免執行階段錯誤。

       5.簡單的說,就是用額外的代碼和邏輯會增加複雜性,這會給調試和修正代碼帶來麻煩。而Python的異常處理機制能讓你專心關注代碼的主要邏輯。

 

       所以還是推薦異常處理機制。

 

Python異常機制具體內容:

 

一般化處理

try:

      #可能出現異常的代碼

except:

      #錯誤恢複代碼

 

 

處理特定異常

try:

        #可能出現異常的代碼

except 具體異常:

        #對應的特定異常的處理代碼

保證無論是否出現異常某些代碼都會執行

ry:

        #可能出現異常的代碼

except 具體異常:

        #對應的特定異常的處理代碼

finally:

       #一定會執行的代碼

 

PS:

處理異常時,可以在異常處理代碼中使用pass語句簡單的忽略異常。pass語句是Python的空語句,它什麼也不做。

在Python中,資料不符合期望的格式時會出現ValueError異常。資料無法正常訪問時會出現IOError異常。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.