本文實例講述了Python 異常的捕獲、異常的傳遞與主動拋出異常操作。分享給大家供大家參考,具體如下:
異常的捕獲
demo.py(異常的捕獲):
try: # 提示用戶輸入一個整數 num = int(input("輸入一個整數:")) # 使用 8 除以用戶輸入的整數并且輸出 result = 8 / num print(result) except ValueError: print("請輸入正確的整數") except Exception as result: print("未知錯誤 %s" % result) else: print("未發(fā)生異常時,執(zhí)行的代碼") finally: print("無論是否出現異常都會執(zhí)行的代碼")
運行結果:
輸入一個整數:0
未知錯誤 division by zero
無論是否出現異常都會執(zhí)行的代碼
異常的傳遞
demo.py(異常的傳遞):
def demo1(): return int(input("輸入整數:")) def demo2(): return demo1() # 利用異常的傳遞性,在主程序捕獲異常 try: print(demo2()) except Exception as result: print("未知錯誤 %s" % result) # demo1()發(fā)生異常 --> 傳遞給demo2() --> 傳遞給主程序 print()函數 --> 主程序如果未捕獲,程序終止
運行結果:
輸入整數: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)
運行結果:
請輸入密碼:123
主動拋出異常
密碼長度不夠
更多Python相關內容感興趣的讀者可查看本站專題:《Python入門與進階經典教程》、《Python字符串操作技巧匯總》、《Python列表(list)操作技巧總結》、《Python編碼操作技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
