5. Python筆記 - Exception handling 例外處理

5. Python筆記 - Exception handling 例外處理
5-1. Exception handling (例外處理)
例外處理讓程式可以避免某些沒有設想到的情況所產生的中斷, 簡單的例子如: 兩數相除, 分母為0; 找不到開啟的檔案...等.

Python的例外處理有兩種形式, 一個為基本款, 另一個為進階款, 如下:
右邊是基本款, 把可能產生例外的程式碼放在try裡面, 當遇到例外產生時, 執行except. 而進階款多了兩個描述else和finally, 為當try執行完沒有例外產生時, 會執行else; finally則是不管有無例外產生都會執行的程式碼.

舉例說明: 分母為0時, 運算會產生 ZeroDivisionError 的錯誤, 並造成程式中斷.
如果此時有加入exception handing, 則程式可以繼續執行, 不會中斷.
執行結果:

例子2: 下列說明, except支援多種錯誤, 可以把可能產生的錯誤都寫進except, 如果沒有說明要catch哪一種錯誤, 則會catch所有錯誤; 不過 try 只會 catch 第一個錯誤, 也就是假設try裡有2行程式碼, 2行都有錯誤, 第一行被捕捉到以後, 就會跳到except, 並不會兩個錯誤都被找出來.
執行結果:

5-2: Raise() 引發特定例外
在某些情況下, 可以使用raise()引發特定例外來觸發其他事件. 語法如下, 其中args為引發例外同時被輸出的參數.
要自定義一個例外, 需要從類別開始, 下面為自定義例外的簡單範例.

執行結果:

Version 1 @ 12/31/2017

張貼留言

0 留言