如何編寫 try/except 塊以捕獲所有 Python 異常?
這雖然是通用經驗法則,即你可以像下面這樣使用程式碼捕獲所有異常,但你最好不要這樣
try: #do_something() except: print "Exception Caught!"
不過,這也會捕獲我們可能不想關注的異常,例如 KeyboardInterrupt。我們無法捕獲異常,除非我們立刻重新引發異常
try:
f = open('file.txt')
s = f.readline()
i = int(s.strip())
except IOError as (errno, strerror):
print "I/O error({0}): {1}".format(errno, strerror)
except ValueError:
print "Could not convert data to an integer."
except:
print "Unexpected error:", sys.exc_info()[0]
raise如果指令碼中沒有包含 file.txt,我們會得到類似下面的輸出。
I/O error(2): No such file or directory
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP