python程式設計_Python異常機制try: 程式碼段 except 異常型別,e: 異常處理程式碼段,如果不知道異常型別,可以使用try: 程式碼段 except Except,e:異常處理程式碼段;Ex
阿新 • • 發佈:2019-01-28
一個Python異常例項
一個簡單的異常例子,開啟一個不存在的檔案,引發異常:
#!/usr/local/bin/python3.2
try:
f = open("file-not-exists", "r")
except IOError,e:
print("open exception: %s: %s\n" %(e.errno, e.strerror))
與Python異常相關的關鍵字:
關鍵字 關鍵字說明
raise 丟擲/引發異常
try/except 捕獲異常並處理
pass 忽略異常
as 定義異常例項(except IOError as e)
finally 無論是否出現異常,都執行的程式碼
else 如果try中的語句沒有引發異常,則執行else中的語句
except
老版本的Python,except語句寫作"except Exception, e",Python 2.6後應寫作"except Exception as e"。注:python3後print()要加括號
使用 except 而不帶任何異常型別:
try:
do something
except:
handle except
會捕獲所有異常,包括鍵盤中斷和程式退出請求(用sys.exit()就無法退出程式了,因為異常被捕獲了),因此慎用。
使用
except Exception as e
可以捕獲除與程式退出sys.exit()相關之外的所有異常。
else與finally
else表示如果try中的程式碼沒有引發異常,則會執行else:
try:
f = open("foo", "r")
except IOError as e:
...
else:
data = f.read()
finally表示無論是否有異常,都將被執行:
try:
f = open("foo", "r")
except IOError as e:
...
finally:
f.close()