python中的異常(Exception)處理
異常
當你的程序出現(xiàn)例外情況時就會發(fā)生異常(Exception)。例如,當你想要讀取一個文件時,而那個文件卻不存在,怎么辦?又或者你在程序執(zhí)行時不小心把它刪除了,怎么辦?這些通過使用異常來進行處理。
類似地,如果你的程序中出現(xiàn)了一些無效的語句該怎么辦?Python將會對此進行處理,舉起(Raises)它的小手來告訴你哪里出現(xiàn)了一個錯誤(Error)。
錯誤
你可以想象一個簡單的print函數(shù)調(diào)用。如果我們把print誤拼成Print會怎樣?你會注意到它的首字母是大寫。在這一例子中,Python會拋出(Raise)一個語法錯誤。
>>>Print("HelloWorld")
Traceback(mostrecentcalllast):
File"",line1,inNameError:name'Print'isnotdefined>>>print("HelloWorld")
HelloWorld
你會注意到一個NameError錯誤被拋出,同時Python還會打印出檢測到的錯誤發(fā)生的位置。這就是一個錯誤錯誤處理器(ErrorHandler)2為這個錯誤所做的事情。
異常
我們將嘗試(Try)去讀取用戶的輸入內(nèi)容。按下[ctrl-d]來看看會發(fā)生什么事情。
>>>s=input('Entersomething-->')
Entersomething-->Traceback(mostrecentcalllast):
File"",line1,inEOFError
此處Python指出了一個稱作EOFError的錯誤,代表著它發(fā)現(xiàn)了一個文件結(jié)尾(EndofFile)符號(由ctrl-d實現(xiàn))在不該出現(xiàn)的時候出現(xiàn)了。
處理異常
我們可以通過使用try..except來處理異常狀況。一般來說我們會把通常的語句放在try代碼塊中,將我們的錯誤處理器代碼放置在except代碼塊中。
案例(保存文exceptions_handle.py):
try:
text=input('Entersomething-->')exceptEOFError:
print('WhydidyoudoanEOFonme?')exceptKeyboardInterrupt:
print('Youcancelledtheoperation.')else:
print('Youentered{}'.format(text))
輸出
#Pressctrl+d
$pythonexceptions_handle.py
Entersomething-->WhydidyoudoanEOFonme?
#Pressctrl+c
$pythonexceptions_handle.py
Entersomething-->^CYoucancelledtheoperation.
$pythonexceptions_handle.py
Entersomething-->Noexceptions
YouenteredNoexceptions
以上內(nèi)容為大家介紹了python培訓之如何處理異常,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓機構(gòu):千鋒教育。