本文實(shí)例講述了Python 異常的捕獲、異常的傳遞與主動(dòng)拋出異常操作。分享給大家供大家參考,具體如下:
異常的捕獲
demo.py(異常的捕獲):
try: # 提示用戶輸入一個(gè)整數(shù) num = int(input("輸入一個(gè)整數(shù):")) # 使用 8 除以用戶輸入的整數(shù)并且輸出 result = 8 / num print(result) except ValueError: print("請(qǐng)輸入正確的整數(shù)") except Exception as result: print("未知錯(cuò)誤 %s" % result) else: print("未發(fā)生異常時(shí),執(zhí)行的代碼") finally: print("無(wú)論是否出現(xiàn)異常都會(huì)執(zhí)行的代碼")
運(yùn)行結(jié)果:
輸入一個(gè)整數(shù):0
未知錯(cuò)誤 division by zero
無(wú)論是否出現(xiàn)異常都會(huì)執(zhí)行的代碼
異常的傳遞
demo.py(異常的傳遞):
def demo1(): return int(input("輸入整數(shù):")) def demo2(): return demo1() # 利用異常的傳遞性,在主程序捕獲異常 try: print(demo2()) except Exception as result: print("未知錯(cuò)誤 %s" % result) # demo1()發(fā)生異常 --> 傳遞給demo2() --> 傳遞給主程序 print()函數(shù) --> 主程序如果未捕獲,程序終止
運(yùn)行結(jié)果:
輸入整數(shù):s
未知錯(cuò)誤 invalid literal for int() with base 10: 's'
主動(dòng)拋出異常
demo.py(raise主動(dòng)拋出異常):
def input_password(): # 提示用戶輸入密碼 pwd = input("請(qǐng)輸入密碼:") # 如果密碼長(zhǎng)度>=8,返回用戶輸入的密碼 if len(pwd) >= 8: return pwd # 如果 < 8 主動(dòng)拋出異常 print("主動(dòng)拋出異常") # 1> 創(chuàng)建異常對(duì)象 ex = Exception("密碼長(zhǎng)度不夠") # 2> raise 主動(dòng)拋出異常 raise ex # 提示用戶輸入密碼 try: print(input_password()) except Exception as result: print(result)
運(yùn)行結(jié)果:
請(qǐng)輸入密碼:123
主動(dòng)拋出異常
密碼長(zhǎng)度不夠
更多Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python入門(mén)與進(jìn)階經(jīng)典教程》、《Python字符串操作技巧匯總》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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