国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Python try except else使用詳解

瀏覽:3日期:2022-06-30 09:52:31

在原本的try except結構的基礎上,Python 異常處理機制還提供了一個 else 塊,也就是原有 try except 語句的基礎上再添加一個 else 塊,即try except else結構。

使用 else 包裹的代碼,只有當 try 塊沒有捕獲到任何異常時,才會得到執行;反之,如果 try 塊捕獲到異常,即便調用對應的 except 處理完異常,else 塊中的代碼也不會得到執行。

舉個例子:

try: result = 20 / int(input(’請輸入除數:’)) print(result)except ValueError: print(’必須輸入整數’)except ArithmeticError: print(’算術錯誤,除數不能為 0’)else: print(’沒有出現異?!?print('繼續執行')

可以看到,在原有 try except 的基礎上,我們為其添加了 else 塊?,F在執行該程序:請輸入除數:45.0沒有出現異常繼續執行

如上所示,當我們輸入正確的數據時,try 塊中的程序正常執行,Python 解釋器執行完 try 塊中的程序之后,會繼續執行 else 塊中的程序,繼而執行后續的程序。

讀者可能會問,既然 Python 解釋器按照順序執行代碼,那么 else 塊有什么存在的必要呢?直接將 else 塊中的代碼編寫在 try except 塊的后面,不是一樣嗎?

當然不一樣,現在再次執行上面的代碼:請輸入除數:a必須輸入整數繼續執行

可以看到,當我們試圖進行非法輸入時,程序會發生異常并被 try 捕獲,Python 解釋器會調用相應的 except 塊處理該異常。但是異常處理完畢之后,Python 解釋器并沒有接著執行 else 塊中的代碼,而是跳過 else,去執行后續的代碼。

也就是說,else 的功能,只有當 try 塊捕獲到異常時才能顯現出來。在這種情況下,else 塊中的代碼不會得到執行的機會。而如果我們直接把 else 塊去掉,將其中的代碼編寫到 try except 的后面:

try: result = 20 / int(input(’請輸入除數:’)) print(result)except ValueError: print(’必須輸入整數’)except ArithmeticError: print(’算術錯誤,除數不能為 0’)print(’沒有出現異?!?print('繼續執行')

程序執行結果為:請輸入除數:a必須輸入整數沒有出現異常繼續執行

可以看到,如果不使用 else 塊,try 塊捕獲到異常并通過 except 成功處理,后續所有程序都會依次被執行。

python try except else finally 實例

class AError(Exception): '''AError---exception''' print(’AError’)class BError(Exception): '''BError---exception''' print(’BError’)try: # raise AError # raise BError aaaaa()except AError: print('Get AError')except BError: print('Get BError')except: print('Get Exception')else: print('do else')finally: print('finally')

1.在上面所示的完整語句中try/except/else/finally所出現的順序必須是try-->except X-->except-->else-->finally,即所有的except必須在else和finally之前,else(如果有的話)必須在finally之前,而except X必須在except之前。否則會出現語法錯誤。

2.在上面的完整語句中,else語句的存在必須以except X或者except語句為前提,如果在沒有except語句的try block中使用else語句會引發語法錯誤。也就是說else不能與try/finally配合使用。

3.try成功進else,不成功進對應的except;

4.不論是否成功except X,except的判定語句都會執行,只是不進入;對應到以上程序就是不論哪種情況 AError BError都會打印,但是Get AError Get BError 只有拋對應的異常時才會打印。

5.finally所有情況都會執行,可以不寫,寫了就必須在所有except else等之后;

到此這篇關于Python try except else使用詳解的文章就介紹到這了,更多相關Python try except else內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产亚洲人成网站观看 | 国产永久在线视频 | 欧美特黄一级高清免费的香蕉 | 精品欧美一区二区在线观看 | 日本黄色大片在线播放视频免费观看 | 国产成人一区二区三中文 | 步兵一区二区三区在线观看 | 夜色爽爽| 久久99久久99精品免观看 | 亚洲国产99在线精品一区二区 | 国产午夜精品理论片久久影视 | 波多野一区二区三区在线 | 成人精品视频网站 | 欧美三级在线观看不卡视频 | 欧美成人一级毛片 | 欧美一级特黄特色大片免费 | 国产成人亚洲精品久久 | 日韩在线观看视频网站 | 怡红院免费全部视频在线 | 五月激激激综合网色播免费 | 一级在线 | 欧洲 | 国产欧美另类久久精品91 | 天堂中文字幕 | 久视频在线观看 | 欧美一级特黄aaaaaa在线看首页 | 欧美精品在欧美一区二区 | 亚洲一区二区精品视频 | 国产精品国内免费一区二区三区 | 日本二级毛片免费 | 亚洲a级片在线观看 | 欧美精品久久天天躁 | 久久久久女人精品毛片 | 色妇女影院 | 国产毛片精品 | 亚洲成人午夜影院 | 免费高清特黄a 大片 | 国产成人丝袜网站在线观看 | 亚洲网站一区 | 日本成年人视频网站 | 韩国毛片免费 | 国产精品久久久久久久久久直 |