python的異常處理機制
使用 try...except 捕獲異常
try:
# 業務實現**
except (error1, error2, ...) as e:
# 出現異常後的處理**
異常類的繼承關係
baseexception
+-- systemexit
+-- keyboardinterrupt
+-- generatorexit
+-- exception
+-- stopiteration
+-- stopasynciteration
+-- arithmeticerror
| +-- floatingpointerror
| +-- overflowerror
| +-- zerodivisionerror
+-- assertionerror
+-- attributeerror
+-- buffererror
+-- eoferror
+-- importerror
| +-- modulenotfounderror
+-- lookuperror
| +-- indexerror
| +-- keyerror
+-- memoryerror
+-- nameerror
| +-- unboundlocalerror
+-- oserror
| +-- blockingioerror
| +-- childprocesserror
| +-- connectionerror
| | +-- brokenpipeerror
| | +-- connectionabortederror
| | +-- connectionrefusederror
| | +-- connectionreseterror
| +-- fileexistserror
| +-- filenotfounderror
| +-- interruptederror
| +-- isadirectoryerror
| +-- notadirectoryerror
| +-- permissionerror
| +-- processlookuperror
| +-- timeouterror
+-- referenceerror
+-- runtimeerror
| +-- notimplementederror
| +-- recursionerror
+-- syntaxerror
| +-- indentationerror
| +-- taberror
+-- systemerror
+-- typeerror
+-- valueerror
| +-- unicodeerror
| +-- unicodedecodeerror
| +-- unicodeencodeerror
| +-- unicodetranslateerror
+-- warning
+-- deprecationwarning
+-- pendingdeprecationwarning
+-- runtimewarning
+-- syntaxwarning
+-- userwarning
+-- futurewarning
+-- importwarning
+-- unicodewarning
+-- byteswarning
+-- resourcewarning
訪問異常資訊
try:
statement
except exception as e:
# 訪問異常的錯誤編號和詳細資訊
print(e.args)
# 訪問異常的錯誤編號
print(e.errno)
# 訪問異常的詳細資訊
print(e.strerror)
else塊
s = input('請輸入除數:')
try:
result = 20 / int(s)
print("20除以%s的結果是:%g" % (s, result))
except valueerror:
print("值錯誤,必須輸入數字")
except arithmeticerror:
print("算術錯誤,不能輸入0")
else:
print("沒有出現異常")
finally塊
try:
statement
except exception as e:
# 異常處理塊
else:
# 沒有出現異常時
finally:
# 不管有沒有出現異常都會執行
自定義異常處理
使用 raise 引發異常
當程式出現錯誤時,系統會自動引發異常。除此之外,python也允許程式使用 raise 語句來自行引發異常
自定義異常類
自定義異常類
自定義的異常類都應該繼承 exception 基類或 exception 的子類
class myexception(exception):
pass
使用自定義異常類
raise myexception("自定義異常資訊")
Python3 異常處理
python3.5 異常處理 try用法 try except語句主要是用於處理程式正常執行過程中出現的一些異常情況 try finally語句則主要用於在無論是否發生異常情況,都需要執行一些清理工作的場合 完整語句中,else語句的存在必須以except x或者except語句為前提,也就是說el...
python3 異常處理
python中的異常捕獲 異常處理語句關鍵字有try except else finally,主要組合如下 1.不捕獲異常,不管是否異常仍要執行操作 finally 先執行finally中的語句,再丟擲異常。不捕獲異常,丟擲異常後,仍執行finally中的語句 try print 1 0 final...
Python3異常處理
在程式設計過程中為了增加友好性,在程式出現bug時一般不會直接將錯誤資訊展示給使用者,而是提供乙個友好的輸出提示。1.異常基礎 常用結構 try pass except exception,ex pass 其他結構 try 主 塊 pass except keyerror,e 異常時,執行該塊 pa...