用於捕獲**執行**現的錯誤,保證**的流暢度
try
: 正常程式
except
: 丟擲錯誤時執行的**塊
常規
while
true
:try
: ipt =
input
("請輸入:"
) i =
float
(ipt)
except exception as e:
# e = exception()
''' e 是 exception物件,物件中封裝了錯誤資訊
上述**如果出錯,自動執行當前塊的內容
'''print
(e) i =
1print
(i)
python中檢視所有錯誤資訊
help
(__builtin__)
異常捕獲2
示例:
try
:int
('a'
)except valueerror as e:
# e = valueerror()
print
("valueerror"
,e)except zerodivisionerror as e:
print
("zerodivisionerror"
,e)except exception as e:
print
(e)else
:print
("沒有異常,請執行我"
)finally
:print
("不管出不出錯,都要執行"
)
tips:
as 能夠用來重新命名
以上細分的錯誤都是exception的子類
細分錯誤的作用:為了乙個種類的錯誤記錄日誌
為了避免程式最後報錯,在最後可以用到exception捕獲異常
如果有錯,執行except裡的**塊
如果沒有錯誤,執行else
finally:不管處不出錯,肯定執行
自定義異常 raise excepting(msg)
try
:raise exception(
"我生氣了"
)except exception as e:
print
(e)def
demo()
:return
false
defdemo1()
:try
:int
('a'
) res = demo()if
not res:
#開啟檔案,寫日誌
raise exception(
"demo中有異常"
)except exception as e:
print
(e)
tips:
要有自定義模組
捕獲自定義的異常
class
oldamyerror
(exception)
:def
__init__
(self,msg)
: self.error_info = msg
def__str__
(self)
:return self.error_info
# err = oldamyerror("咖啡說我是胖子")
# print(err)
try:
# 丟擲錯誤資訊
raise oldamyerror(
"咖啡說我是胖子"
)# err = oldamyerror("咖啡說我是胖子")
except oldamyerror as err:
print
(err)
assert 條件
tips:
如果條件成立,**繼續往下執行
如果條件不成立,直接丟擲異常
強制使用者服從,可捕獲,但是不捕獲
print
(123
)assert
2.0==
2# assertionerror
print
(456
)
python異常捕獲 如何捕獲Python中的異常
python 提供了try except語句捕獲並處理異常,該異常處理語句的基本語法結構如下 try 可能產生異常的 塊 except error1,error2,as e 處理異常的 塊1 except error3,error4,as e 處理異常的 塊2該格式中,括起來的部分可以使用,也可以省...
python異常捕獲
python的異常處理如c c 的結構一樣。python用try.except.c c 則用try.catch.並不難理解。在對具體錯誤的獲取則有點不同,主要是語法的差異上。c 在catch後可生成相應乙個異常的類,然後可通過類物件獲取相關的錯誤資訊。而python則不同,它在獲取錯誤資訊有點奇怪,...
Python捕獲異常
如果感覺 可能會出現異常,可以通過如下兩種方法捕獲異常。一 捕獲所以異常 try statement1 statement2 except exception,e print exception,e 二 通過trace模組檢視 import traceback try statement1 stat...