程序在編寫或運行過程中,難免會出現各種各樣的異常。有些異常需要我們去找出來改掉,有些異常是由於用戶操作導致的,則需要我們去提示規範。本次主要介紹Python中對異常的處理。
1、try......except......else
用法說明:
1.1 else語句可有可無,可以有多個except語句
1.2 執行到try後面的執行語句時,如果有異常,則進行"異常類別"匹配,返回第一個匹配到的異常類別的拋出語句
1.3 可以寫多個except,也可以一個except對應多個"異常類別".,這些"異常類別"放在一個括號裡成為一個元組。
# try……except……else格式1:try:執行語句except 異常類別 as error: 拋出語句else: 正常執行語句
示例:列印1/0
print(1/0)
出現異常:
Traceback (most recent call last):
File "D:/Code/異常處理.py", line 1, in <module>
print(1/0)
ZeroDivisionError: division by zero
使用try......except改寫:
try:print(1/0)except ZeroDivisionError as e: print("除數不能為0")else: print("程序運行結束")
輸出:
>>>除數不能為0
try:print(1/1)except ZeroDivisionError as e: print("除數不能為0")else: print("程序運行結束")
輸出:
>>>
1.0
程序運行結束
2、try......except......finally
當我們使了用try......except,如果執行出錯,則後續代碼不會繼續執行,而是直接跳轉至錯誤處理代碼,即except後的語句。如果有finally語句塊,則還會執行finally語句,也就是說,不管程序是否有異常,finally後面的語句都會被執行。
# try……except……finally格式:try:執行語句except 異常類別 as error: 拋出語句finally: 正常執行語句
示例:(即使拋出異常了,finally後的語句還是會被執行)
try:print(1/0)except ZeroDivisionError as e: print("除數不能為0")finally: print("程序運行結束")
輸出:
>>>
除數不能為0
程序運行結束