Python 異常的捕獲、異常的傳遞與主動拋出異常操作示例
本文實例講述了Python 異常的捕獲、異常的傳遞與主動拋出異常操作。分享給大家供大家參考,具體如下:
異常的捕獲
demo.py(異常的捕獲):
try: # 提示用戶輸入一個整數(shù) num = int(input("輸入一個整數(shù):")) # 使用 8 除以用戶輸入的整數(shù)并且輸出 result = 8 / num print(result) except ValueError: print("請輸入正確的整數(shù)") except Exception as result: print("未知錯誤 %s" % result) else: print("未發(fā)生異常時,執(zhí)行的代碼") finally: print("無論是否出現(xiàn)異常都會執(zhí)行的代碼")
運行結(jié)果:
輸入一個整數(shù):0
未知錯誤 division by zero
無論是否出現(xiàn)異常都會執(zhí)行的代碼
異常的傳遞
demo.py(異常的傳遞):
def demo1(): return int(input("輸入整數(shù):")) def demo2(): return demo1() # 利用異常的傳遞性,在主程序捕獲異常 try: print(demo2()) except Exception as result: print("未知錯誤 %s" % result) # demo1()發(fā)生異常 --> 傳遞給demo2() --> 傳遞給主程序 print()函數(shù) --> 主程序如果未捕獲,程序終止
運行結(jié)果:
輸入整數(shù):s
未知錯誤 invalid literal for int() with base 10: 's'
主動拋出異常
demo.py(raise主動拋出異常):
def input_password(): # 提示用戶輸入密碼 pwd = input("請輸入密碼:") # 如果密碼長度>=8,返回用戶輸入的密碼 if len(pwd) >= 8: return pwd # 如果 < 8 主動拋出異常 print("主動拋出異常") # 1> 創(chuàng)建異常對象 ex = Exception("密碼長度不夠") # 2> raise 主動拋出異常 raise ex # 提示用戶輸入密碼 try: print(input_password()) except Exception as result: print(result)
運行結(jié)果:
請輸入密碼:123
主動拋出異常
密碼長度不夠
更多Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python入門與進階經(jīng)典教程》、《Python字符串操作技巧匯總》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
python3編寫ThinkPHP命令執(zhí)行Getshell的方法
這篇文章主要介紹了python3編寫ThinkPHP命令執(zhí)行Getshell的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02python pcm音頻添加頭轉(zhuǎn)成Wav格式文件的方法
今天小編就為大家分享一篇python pcm音頻添加頭轉(zhuǎn)成Wav格式文件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python辦公自動化之JSOM數(shù)據(jù)處理與SQL Server數(shù)據(jù)庫操作
這篇文章主要為大家詳細介紹了Python辦公自動化中JSOM數(shù)據(jù)處理與SQL Server數(shù)據(jù)庫操作的相關(guān)知識,文中的示例代碼簡潔易懂,有需要的小伙伴可以參考下2024-01-01