----支持作者請轉發本文-
李寧老師已經在「極客起源」 微信公眾號推出《Python編程思想》電子書,囊括了Python的核心技術,以及Python的主要函數庫的使用方法。讀者可以在「極客起源」 公眾號中輸入 160442 開始學習。
-正文-
現在絕大多數程式語言都支持異常處理,異常處理的通行做法是將正常執行的代碼放在特定代碼塊中,然後再將處理異常的代碼放在另一個代碼塊中,如果正常執行的代碼塊的某條語句拋出了異常,那麼就會直接跳到處理異常的代碼塊中繼續執行。而在正常的代碼塊中拋出異常語句後面的所有代碼都不會被執行。if 錯誤1: print('這是錯誤1')e1if 錯誤2: print('這是錯誤2')elif 錯誤3: print('這是錯誤3')e1if 錯誤4: print('這是錯誤4')else: print('正常執行的代碼')儘管通過條件判斷錯誤從技術上可行,但對於一個程序所拋出的錯誤數量是未知的,所以通過條件很可能無法處理所有的錯誤,為了儘可能處理所有的錯誤,可以使用Python語言的try...except語句,該語句可以捕獲各種異常。Python的異常處理機制可以讓程序具有極好的容錯性,讓程序更加健壯。當程序運行出現意外情況時,系統會自動生成一個Error對象來通知程序,從而實現將「業務實現代碼」和「錯誤處理代碼」分離,提供更好的可讀性。try: ... ... except (Errorl, Error2,,.)as e: ... ...如果在執行try塊裡的業務邏輯代碼時出現異常,系統自動生成一個異常對象,該異常對象被提交給 Python解釋器,這個過程被稱為引發異常。當 Python解釋器收到異常對象時,會尋找能處理該異常對象的 except塊,如果找到合適的except塊,則把該異常對象交給該except塊處理,這個過程被稱為捕獲異常。如果 Python解釋器找不到捕獲異常的 except塊,則運行時環境終止, Python解釋器也將退出。x = None
while True: try: if x == None: x = int(input("請輸入分子:")) y = int(input("請輸入分母:")) print("x / y = {}".format(x / y)) break; except : print("分母不能為0,請重新輸入分母!")在這段代碼的try.except語句中,包含了用於輸入分子和分母的代碼。當輸入的分母為0時,會拋出異常,也就是執行except塊中的代碼,過程如下:請輸入分子:20請輸入分母:0分母不能為0,請重新輸入分母!請輸入分母:12x / y = 1.6666666666666667對本文感興趣,可以加李寧老師微信公眾號(unitymarvel):關注 極客起源 公眾號,獲得更多免費技術視頻和文章。