3. 捕獲異常
# 內建異常型別
# exception
# attributeerror
# ioerror
# indexerror
# keyerror
# valueerror
# nameerror
# syntaxerror
# zerodivisionerror
class myexception(exception): pass
class myexception(exception):
def __init__(self, error_msg):
self.error_msg = error_msg
else
:當沒有出現異常時執行
finally
:不管如何都執行
其他:
def
exception_handle()
:try
:print
("try"
)raise valueerror # 丟擲特定異常
except indexerror as e:
# 捕獲乙個異常,並獲取異常物件
# 不對異常進行處理,繼續丟擲異常
raise
except
(keyerror, valueerror)
as e:
# 捕獲某兩類異常,並獲取異常物件
print
(e)except
:# 捕獲除了上述三種異常之外的所有異常
print
("except"
)raise
# 丟擲捕獲到的異常
else
:# 當沒有捕獲異常時執行
print
("else"
)finally
:# 不管是否捕獲異常,都要執行
print
("finally"
)
下面**的輸出結果是b c d
class
b(exception)
:pass
class
c(b)
:pass
class
d(c)
:pass
for cls in
[b, c, d]
:try
:raise cls(
)except d:
print
("d"
)except c:
print
("c"
)except b:
print
("b"
)
class
b(exception)
:pass~~
class
c(b)
:pass
class
d(c)
:pass
for cls in
[b, c, d]
:try
:raise cls(
)except b:
print
("b"
)except d:
print
("d"
)except c:
print
("c"
)
python 異常處理3
def set age age if age 0 or age 200 print 值錯誤 raise valueerror 值錯誤 else print 給張三的年齡設定為 age try set age 18 except exception as e print x e 什麼時候應該向外界丟擲...
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...