1、常見異常的產生
1)除0運算——ZeroDivisionError
2)找不到可讀文件——FileNotFoundError
3)值錯誤——ValueError
4)索引錯誤——IndexError
5)類型錯誤——TypeError
6)變量名錯誤——NameError
2、異常的處理
1)try_except
① 單分支
x = 10
y = 0
try:
z = x/y
except ZeroDivisionError:
print("0不能作除數")
② 多分支
ls = []
d = {"name":"LC"}
try:
d["age"]
except NameError:
print("變量名不存在")
except IndexError:
print("索引超出界限")
except KeyError:
print("鍵不存在")
③ 萬能異常 Exception
ls = []
d = {"name":"LC"}
try:
d["age"]
except Exception:
print("出錯了")
④ 捕獲異常的值 as
ls = []
d = {"name":"LC"}
try:
y = m
d["age"]
except Exception as e: # 獲取錯誤的值
print(e)
2)try_except_else
try:
with open("try.txt") as f:
text = f.read()
except FileNotFoundError:
print("找不到文件")
else:
print("找到了")
3)try_except_finally:無論try模塊是否執行,finally最後都會執行
ls = []
d = {"name":"LC"}
try:
y = x
ls[3]
d["age"]
except Exception as e: # 獲取錯誤的值
print(e)
finally:
print("執行finally")