Python 例外

發生例外程式中止
發生例外 讓程式不要停止 改為去執行一些程式碼 做些補救的措施 讓程式得以順利執行

語法

try: #可能會例外的程式碼
except: #去攔住發生的例外 發生例外要做的區塊
else: #例外沒發生要做的事 except沒發生才會執行 except else只有一個會執行
finally: #不管有沒有發生例外都要做的事

except ZreoDivisionError as e: 只處理ZreoDivisionError發生的錯誤(已知錯誤)

except: 沒有加任何,預設是BaseException,是不能放在except最前面

可以有很多except處理不同的錯誤類型,若前面的except有符合except的後面就不會比下去(父類別比子類別更容易通過檢查,所以父類別的例外要放在比較後面)

實務上
try: open file
finally : file.close()
開啟檔案發生例外 還是可以在最後把檔案關閉

raise 刻意的引發例外

不要等到例外發生,傷害已造成,才產出例外,可以檢查是否有例外
if n2==0:
 raise ZeroDivisionError(“Divided by zero.”)
except: #接收這個例外

例外exception是定義過Error類別
python的exception都是繼承自BaseException類別
BaseException有四個child
前三個 SystemExit、KeyboardInterrupt、GeneratorExit是屬於退出系統的例外 第四個Exception

如果要自定義一個例外類別 不要繼承BaseException類別 要繼承Exception
Exception Class中已定意好的例外類別+自定義,except and rasie才能看得懂

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.