Python零基礎學習筆記(二十八)—— 異常處理


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")

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章