異常
當你的程序出現例外情況時就會發生異常(Exception)。例如,當你想要讀取一個文件時,而那個文件卻不存在,怎么辦?又或者你在程序執行時不小心把它刪除了,怎么辦?這些通過使用異常來進行處理。類似地,如果你的程序中出現了一些無效的語句該怎么辦?Python將會對此進行處理,舉起(Raises)它的小手來告訴你哪里出現了一個錯誤(Error)。
錯誤
你可以想象一個簡單的print函數調用。如果我們把print誤拼成Print會怎樣?你會注意到它的首字母是大寫。在這一例子中,Python會拋出(Raise)一個語法錯誤。
>>>Print("HelloWorld")
Traceback(mostrecentcalllast):
File"",line1,inNameError:name'Print'isnotdefined>>>print("HelloWorld")
HelloWorld
你會注意到一個NameError錯誤被拋出,同時Python還會打印出檢測到的錯誤發生的位置。這就是一個錯誤錯誤處理器(ErrorHandler)2為這個錯誤所做的事情。
異常
我們將嘗試(Try)去讀取用戶的輸入內容。按下[ctrl-d]來看看會發生什么事情。
>>>s=input('Entersomething-->')
Entersomething-->Traceback(mostrecentcalllast):
File"",line1,inEOFError
此處Python指出了一個稱作EOFError的錯誤,代表著它發現了一個文件結尾(EndofFile)符號(由ctrl-d實現)在不該出現的時候出現了。
處理異常
我們可以通過使用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
以上內容為大家介紹了python培訓之怎么處理錯誤和異常,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。