python不知道错在哪里怎么办_python怎么处理错误和异常
異常
當你的程序出現(xiàn)例外情況時就會發(fā)生異常(Exception)。例如,當你想要讀取一個文件時,而那個文件卻不存在,怎么辦?又或者你在程序執(zhí)行時不小心把它刪除了,怎么辦?這些通過使用異常來進行處理。類似地,如果你的程序中出現(xiàn)了一些無效的語句該怎么辦?Python 將會對此進行處理,舉起(Raises)它的小手來告訴你哪里出現(xiàn)了一個錯誤(Error)。
錯誤
你可以想象一個簡單的 print 函數(shù)調(diào)用。如果我們把 print 誤拼成 Print 會怎樣?你會注意到它的首字母是大寫。在這一例子中,Python 會拋出(Raise)一個語法錯誤。>>> Print("Hello World")
Traceback (most recent call last):
File "", line 1, in 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 "", line 1, in 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
更多學(xué)習(xí)內(nèi)容,請點擊python學(xué)習(xí)網(wǎng)。
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的python不知道错在哪里怎么办_python怎么处理错误和异常的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: facebook对话链接_并非里程碑!
- 下一篇: pythoncsv数据怎么读_pytho