python使用try...except...來處理異常,當python遇到乙個try語句,他會嘗試執行try語句體內的語句,如果執行這些語句沒有錯誤,控制轉移到try...except...後面的語句,如果語句體內發生錯誤,python會尋找乙個符合該錯誤的異常語句,然後執行處理**。
try:
except :
except :
else:
finally:
try體內如果無異常產生,則執行else語句;
無論try體內無論是否有異常,finally語句都會執行,finally一般是無論是否異常發生都要執行清理的工作,比如開啟後檔案需要關閉檔案的操作,連線網路後需要斷開網路的操作。
我們的測試**如下:
def main():
while true:
try:
number1, number2 = eval(input('enter two number,separated by a comma:'))
result = number1 / number2
except zerodivisionerror:
print('division by zero!')
except syntaxerror:
print('a comma may be missing in the input')
except:
print('something wrong in the input')
else:
print('no exception,the result is:', result)
break
finally:
print('executing the final clause')
main()
測試資料如下:
enter two number,separated by a comma:3,4
no exception,the result is: 0.75
executing the final clause
enter two number,separated by a comma:2,0
division by zero!
executing the final clause
enter two number,separated by a comma:
當我們輸入3,4時,**執行正常,執行else和finally語句;當我們輸入2,0 時,**執行except
zerodivisionerror和finally語句。我們可以看到無論try中是否錯誤發生,都會執行finally語句。
python異常處理 Python 異常處理
使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...
python 中的異常處理
python的異常處理能力是很強大的,可向使用者準確反饋出錯資訊。在python中,異常也是物件,可對它進行操作。所有異常都是基類exception的成員。所有異常都從基類exception繼承,而且都在exceptions模組中定義。python自動將所有異常名稱放在內建命名空間中,所以程式不必匯...
Python中的異常處理
當python檢測到乙個錯誤時,直譯器就無法繼續執行了,反而出現了一些錯誤的提示,這就是所謂的 異常 看如下示例 try print test1 open 123.txt r print test2 except ioerror pass此時可以正常執行,執行結果為 test1 說明 try exc...