try:
print(enume)
print(3 / 0)
except ZeroDivisionError as e:
print("除數爲零!")
except NameError as e:
print("名稱錯了!")
#使用except而不使用任何錯誤類型
try:
print(" ",de)
except:
print("Error!")
#使用except顯示多種異常
try:
pass
except(NameError,ZeroDivisionError):
print("出現了NameError或ZeroDivisionError"
'''
特殊
#1、錯誤其實是class(類),所有的錯誤都繼承自BaseException,所以在捕獲
#2、跨越多層調用
#需求:當程序遇到問題時不讓程序結束,而越過錯誤繼續向下執行
'''
'''
try……except……else
格式:
try:
語句t
except 錯誤碼 as e:
語句1
except 錯誤碼 as e:
語句2
except 錯誤碼 as e:
語句3
...
except 錯誤碼 as e:
語句n
else:
語句e
注意:else可有可無
作用:檢測try語句塊中的錯誤,從而讓except語句捕獲錯誤信息並處理
邏輯:當程序執行到try-except-else語句時
1、當try【語句t】執行出現錯誤,會匹配第一個錯誤碼,如果匹配上就執行第一個語句
2、當try【語句t】執行出現錯誤,沒有匹配到任何的錯誤碼,錯誤將會被提交到上一層的
try語句,或者到程序的最上層
3、當try【語句t】執行沒有出現錯誤,執行else下的【語句e】(有else的情況下)
'''
def func1(num):
print(1 / num)
def func2(num):
func1(num)
def main():
func2(0)
try:
main()
except ZeroDivisionError as e:
print("QQQQQ")
'''
try……except……else
格式:
try:
語句t
except 錯誤碼 as e:
語句1
except 錯誤碼 as e:
語句2
except 錯誤碼 as e:
語句3
...
except 錯誤碼 as e:
語句n
finally:
語句f
注意:else可有可無
作用:語句t無論是否有錯誤都將執行最後的語句f
'''
try:
print(1/1)
finally:
print("這是必須執行的語句!")
print("sda")
try:
print(1/0)
finally:
print("這是必須執行的語句!")
print("sda")
Python零基礎學習筆記(二十八)—— 異常處理
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.