Python 異常的捕獲、異常的傳遞與主動(dòng)拋出異常操作示例
本文實(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入門與進(jìn)階經(jīng)典教程》、《Python字符串操作技巧匯總》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
python3編寫ThinkPHP命令執(zhí)行Getshell的方法
這篇文章主要介紹了python3編寫ThinkPHP命令執(zhí)行Getshell的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02python下實(shí)現(xiàn)二叉堆以及堆排序的示例
下面小編就為大家?guī)?lái)一篇python下實(shí)現(xiàn)二叉堆以及堆排序的示例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09python定時(shí)檢測(cè)無(wú)響應(yīng)進(jìn)程并重啟的實(shí)例代碼
這篇文章主要介紹了python定時(shí)檢測(cè)無(wú)響應(yīng)進(jìn)程并重啟的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04python?實(shí)時(shí)獲取kafka消費(fèi)隊(duì)列信息示例詳解
這篇文章主要介紹了python實(shí)時(shí)獲取kafka消費(fèi)隊(duì)列信息,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07python pcm音頻添加頭轉(zhuǎn)成Wav格式文件的方法
今天小編就為大家分享一篇python pcm音頻添加頭轉(zhuǎn)成Wav格式文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01Python辦公自動(dòng)化之JSOM數(shù)據(jù)處理與SQL Server數(shù)據(jù)庫(kù)操作
這篇文章主要為大家詳細(xì)介紹了Python辦公自動(dòng)化中JSOM數(shù)據(jù)處理與SQL Server數(shù)據(jù)庫(kù)操作的相關(guān)知識(shí),文中的示例代碼簡(jiǎn)潔易懂,有需要的小伙伴可以參考下2024-01-01python定時(shí)器(Timer)用法簡(jiǎn)單實(shí)例
這篇文章主要介紹了python定時(shí)器(Timer)用法,以一個(gè)簡(jiǎn)單實(shí)例形式分析了定時(shí)器(Timer)實(shí)現(xiàn)延遲調(diào)用的技巧,需要的朋友可以參考下2015-06-06Python引入多個(gè)模塊及包的概念過(guò)程解析
這篇文章主要介紹了Python引入多個(gè)模塊及包的概念過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09