首頁技術(shù)文章正文

try-except語句與else子句聯(lián)合使用處理可能出現(xiàn)的程序異常

更新時間:2021-07-16 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

異常處理的主要目的是防止因外部環(huán)境的變化導(dǎo)致程序產(chǎn)生無法控制的錯誤,而不是處理程序的設(shè)計錯誤。因此,將所有的代碼都用try語句包含起來的做法是不推薦的,try語句應(yīng)盡量只包含可能產(chǎn)生異常的代碼。Python中try-except語句還可以與else子句聯(lián)合使用,該子句放在except語句之后,表示當(dāng)try子句沒有出現(xiàn)錯誤時應(yīng)執(zhí)行的代碼。其格式如下:

try:
    可能出錯的語句
    ......
except:
    出錯后的執(zhí)行語句
else:
    未出錯時的執(zhí)行語句
例如,某程序的分頁顯示數(shù)據(jù)功能可以根據(jù)用戶輸入控制每頁顯示多少條數(shù)據(jù),但要求用戶輸入的數(shù)據(jù)為整數(shù)類型數(shù)據(jù),如果輸入的數(shù)據(jù)符合輸入要求,每頁顯示用戶指定的條數(shù);如果輸入的數(shù)據(jù)不不符合要求,則使用默認顯示條數(shù),示例如下:
num =input("請輸入每頁顯示多少條數(shù)據(jù):") # 用戶輸入為字符串
try:
    page_size = int(num)        # 將字符串轉(zhuǎn)化為數(shù)字
except Exception as e:
    page_size = 20           # 若轉(zhuǎn)化出錯,則使用預(yù)設(shè)的數(shù)據(jù)量
    print(f"當(dāng)前頁顯示{page_size}條數(shù)據(jù)")
else:
    print(f"當(dāng)前頁顯示{num}條數(shù)據(jù)")   # 加載數(shù)據(jù)
如果用戶輸入的數(shù)據(jù)符合要求,結(jié)果如下所示:
請輸入每頁顯示多少條數(shù)據(jù):15
當(dāng)前頁顯示15條數(shù)據(jù)
如果用戶輸入的數(shù)據(jù)不符合要求,結(jié)果如下所示:
請輸入每頁顯示多少條數(shù)據(jù):test
當(dāng)前頁顯示20條數(shù)據(jù)
上述示例中,如果用戶輸入的數(shù)據(jù)符合要求,輸入的數(shù)據(jù)將被轉(zhuǎn)換為整數(shù)類型,并執(zhí)行else子句中的代碼;如果用戶輸入的數(shù)據(jù)不符合要求,輸入的數(shù)據(jù)不能正確轉(zhuǎn)換為整數(shù)類型,那么程序執(zhí)行exept子句中的代碼。







猜你喜歡:

Python常見語法問題和異常概述

python中if…else語句如何用?[python培訓(xùn)]

Python if判斷語句的用法詳細介紹

python斷言語句的語法【assert語句】

黑馬程序員python+大數(shù)據(jù)高手班培訓(xùn)

分享到:
在線咨詢 我要報名
和我們在線交談!