新聞中心
異常

創(chuàng)新互聯(lián)建站是一家專注于網(wǎng)站建設(shè)、成都做網(wǎng)站與策劃設(shè)計(jì),通州網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:通州等地區(qū)。通州做網(wǎng)站價(jià)格咨詢:18982081108
當(dāng)你的程序出現(xiàn)例外情況時(shí)就會(huì)發(fā)生異常(Exception)。例如,當(dāng)你想要讀取一個(gè)文件時(shí),而那個(gè)文件卻不存在,怎么辦?又或者你在程序執(zhí)行時(shí)不小心把它刪除了,怎么辦?這些通過使用異常來進(jìn)行處理。類似地,如果你的程序中出現(xiàn)了一些無效的語句該怎么辦?Python 將會(huì)對(duì)此進(jìn)行處理,舉起(Raises)它的小手來告訴你哪里出現(xiàn)了一個(gè)錯(cuò)誤(Error)。
錯(cuò)誤
你可以想象一個(gè)簡單的 print 函數(shù)調(diào)用。如果我們把 print 誤拼成 Print 會(huì)怎樣?你會(huì)注意到它的首字母是大寫。在這一例子中,Python 會(huì)拋出(Raise)一個(gè)語法錯(cuò)誤。
>>> Print("Hello World")
Traceback (most recent call last):
File "", line 1, in NameError: name 'Print' is not defined >>> print("Hello World")
Hello World
你會(huì)注意到一個(gè) NameError 錯(cuò)誤被拋出,同時(shí) Python 還會(huì)打印出檢測到的錯(cuò)誤發(fā)生的位置。這就是一個(gè)錯(cuò)誤錯(cuò)誤處理器(Error Handler)2 為這個(gè)錯(cuò)誤所做的事情。
異常
我們將嘗試(Try)去讀取用戶的輸入內(nèi)容。按下 [ctrl-d] 來看看會(huì)發(fā)生什么事情。
>>> s = input('Enter something --> ')
Enter something --> Traceback (most recent call last):
File "", line 1, in EOFError
此處 Python 指出了一個(gè)稱作 EOFError 的錯(cuò)誤,代表著它發(fā)現(xiàn)了一個(gè)文件結(jié)尾(End of File)符號(hào)(由 ctrl-d 實(shí)現(xiàn))在不該出現(xiàn)的時(shí)候出現(xiàn)了。
處理異常
我們可以通過使用 try..except 來處理異常狀況。一般來說我們會(huì)把通常的語句放在 try 代碼塊中,將我們的錯(cuò)誤處理器代碼放置在 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
更多學(xué)習(xí)內(nèi)容,請點(diǎn)擊python學(xué)習(xí)網(wǎng)。
新聞標(biāo)題:創(chuàng)新互聯(lián)Python教程:python怎么處理錯(cuò)誤和異常
鏈接URL:http://www.5511xx.com/article/ccdjoei.html


咨詢
建站咨詢
