python教程:異常的傳遞

當函數/方法執行代碼時出現異常,會將異常傳遞給函數/方法的調用一方,如果傳遞到主程序,仍然沒有異常處理,程序纔會被終止。

需求:定義函數 demo1() 完成輸入 num,定義函數 demo2() 調用 demo1(),在主程序中調用 demo2()。

def demo1():
    print(num)

def demo2():
    demo1()

demo2()

在執行以上代碼,會發生異常,可以使用下面代碼進行捕獲異常。

'''
遇到問題沒人解答?小編創建了一個Python學習交流QQ羣:531509025
尋找有志同道合的小夥伴,互幫互助,羣裏還有不錯的視頻學習教程和PDF電子書!
'''
try:
    demo2()
except NameError:
    print("請輸入正確的名字")
except Exception as result:
    print("未知錯誤 %s" % result)

在開發中,可以在主函數中增加異常捕獲而在主函數中調用的其他函數,因爲Python中的異常是可以傳遞的,所有隻要出現異常,都會傳遞到主函數的異常捕獲中這樣就不需要在代碼中,增加大量的異常捕獲,能夠保證代碼的整潔。

例子:

# 函數嵌套調用
def demo1():
    print(num)

def demo2():
    demo1()

# 捕獲異常
try:
    demo2()
except NameError:
    print("請輸入正確的名字...")
except Exception:
    print("如果發生未知異常的處理方式")
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章