溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python中異常處理的方式

發(fā)布時間:2020-08-14 11:40:29 來源:億速云 閱讀:148 作者:小新 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)Python中異常處理的方式,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Python中的異常(Exception)處理

異常

當(dāng)你的程序出現(xiàn)例外情況時就會發(fā)生異常(Exception)。例如,當(dāng)你想要讀取一個文件時,而那個文件卻不存在,怎么辦?又或者你在程序執(zhí)行時不小心把它刪除了,怎么辦?這些通過使用異常來進(jìn)行處理。

類似地,如果你的程序中出現(xiàn)了一些無效的語句該怎么辦?Python 將會對此進(jìn)行處理,舉起(Raises)它的小手來告訴你哪里出現(xiàn)了一個錯誤(Error)。

錯誤

你可以想象一個簡單的 print 函數(shù)調(diào)用。如果我們把 print 誤拼成 Print 會怎樣?你會注意到它的首字母是大寫。在這一例子中,Python 會拋出(Raise)一個語法錯誤。

>>> Print("Hello World")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>NameError: name 'Print' is not defined >>> print("Hello World")
Hello World

你會注意到一個 NameError 錯誤被拋出,同時 Python 還會打印出檢測到的錯誤發(fā)生的位置。這就是一個錯誤錯誤處理器(Error Handler)2 為這個錯誤所做的事情。

異常

我們將嘗試(Try)去讀取用戶的輸入內(nèi)容。按下 [ctrl-d] 來看看會發(fā)生什么事情。

>>> s = input('Enter something --> ')
Enter something --> Traceback (most recent call last):
  File "<stdin>", line 1, in <module>EOFError

此處 Python 指出了一個稱作 EOFError 的錯誤,代表著它發(fā)現(xiàn)了一個文件結(jié)尾(End of File)符號(由 ctrl-d 實現(xiàn))在不該出現(xiàn)的時候出現(xiàn)了。

處理異常

我們可以通過使用 try..except 來處理異常狀況。一般來說我們會把通常的語句放在 try 代碼塊中,將我們的錯誤處理器代碼放置在 except 代碼塊中。

案例(保存文 exceptions_handle.py):

try:
    text = input('Enter something --> ') except EOFError:
    print('Why did you do an EOF on me?') except KeyboardInterrupt:
    print('You cancelled the operation.') else:
    print('You entered {}'.format(text))

輸出

# Press ctrl + d
$ python exceptions_handle.py
Enter something --> Why did you do an EOF on me?

# Press ctrl + c
$ python exceptions_handle.py
Enter something --> ^CYou cancelled the operation.

$ python exceptions_handle.py
Enter something --> No exceptions
You entered No exceptions

關(guān)于Python中異常處理的方式就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI