全國(guó)咨詢(xún)/投訴熱線:400-618-4000

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

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

更新時(shí)間:2021-07-16 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

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

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







猜你喜歡:

Python常見(jiàn)語(yǔ)法問(wèn)題和異常概述

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

Python if判斷語(yǔ)句的用法詳細(xì)介紹

python斷言語(yǔ)句的語(yǔ)法【assert語(yǔ)句】

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

分享到:
在線咨詢(xún) 我要報(bào)名
和我們?cè)诰€交談!