本篇則主要了解幾個常見的Exception。
ZeroDivisionError
除數等於0的報錯方式
num=1/0
num
結果:
ZeroDivisionError Traceback (most recent call last)
<ipython-input-3-137c35d0a8b8> in <module>
----> 1 num=1/0
2 num
ZeroDivisionError: division by zero
捕獲異常:
a=10
try:
num=a/0
# 只能捕獲不能被0整除的異常,其他異常是捕獲不到的
except ZeroDivisionError:
print("zero error")
print("error")
//輸出結果
zero error
error
IndexError
list index out of range,超索引報錯
new_list=[2,3,5,4]
new_list[10]
IndexError Traceback (most recent call last)
<ipython-input-8-b1e8cb0a25e7> in <module>
1 new_list=[2,3,5,4]
----> 2 new_list[10]
IndexError: list index out of range
捕獲異常:
a=10
try:
new_list[10]
# 只能捕獲不能被0整除的異常,其他異常是捕獲不到的
except ZeroDivisionError:
print("zero error")
# 超出索引異常,捕獲
except IndexError:
print("index error")
print("error")
//輸出結果:
index error
error
get all exception
a=10
try:
new_list[10]
# 不管啥異常,都捕獲,使程序能夠正常運行
except :
print("all exception error")
print("error")
//輸出結果
all exception error
error
通過兩個常用異常來了解一下捕獲流程。其他異常可直接通過文檔查看。