#!/usr/bin/python
# Filename: try_except.py
import sys
try:
s = raw_input('Enter something --> ')
except EOFError:
print '\nWhy did you do an EOF on me?'
sys.exit() # exit the program
except:
print '\nSome error/exception occurred.'
# here, we are not exiting the program
print 'Done'
(源文件:code/try_except.py)
輸出
$ python try_except.py
Enter something -->
Why did you do an EOF on me?
$ python try_except.py
Enter something --> Python is exceptional!
Done
它如何工作
我們把所有可能引發(fā)錯誤的語句放在 try 塊中,然后在 except 從句/塊中處理所有的錯誤和異常。 except 從句可以專門處理單一的錯誤或異常,或者一組包括在圓括號內的錯誤/異常。如果沒有給出錯誤或異常的名稱,它會處理 所有的 錯誤和異常。對于每個 try 從句,至少都有一個相關聯(lián)的 except 從句。
如果某個錯誤或異常沒有被處理,默認的 Python 處理器就會被調用。它會終止程序的運行,并且打印一個消息,我們已經看到了這樣的處理。
你還可以讓 try..catch 塊關聯(lián)上一個 else 從句。當沒有異常發(fā)生的時候,else 從句將被執(zhí)行。
我們還可以得到異常對象,從而獲取更多有個這個異常的信息。這會在下一個例子中說明。