教育行業(yè)A股IPO第一股(股票代碼 003032)

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

python異常處理:try-except語(yǔ)句與else子句的聯(lián)合使用

更新時(shí)間:2021年07月16日15時(shí)31分 來(lái)源:傳智教育 瀏覽次數(shù):

好口碑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ù)用戶(hù)輸入控制每頁(yè)顯示多少條數(shù)據(jù),但要求用戶(hù)輸入的數(shù)據(jù)為整數(shù)類(lèi)型數(shù)據(jù),如果輸入的數(shù)據(jù)符合輸入要求,每頁(yè)顯示用戶(hù)指定的條數(shù);如果輸入的數(shù)據(jù)不不符合要求,則使用默認(rèn)顯示條數(shù),示例如下:
num =input("請(qǐng)輸入每頁(yè)顯示多少條數(shù)據(jù):") # 用戶(hù)輸入為字符串
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ù)

如果用戶(hù)輸入的數(shù)據(jù)符合要求,結(jié)果如下所示:
請(qǐng)輸入每頁(yè)顯示多少條數(shù)據(jù):15
當(dāng)前頁(yè)顯示15條數(shù)據(jù)

如果用戶(hù)輸入的數(shù)據(jù)不符合要求,結(jié)果如下所示:
請(qǐng)輸入每頁(yè)顯示多少條數(shù)據(jù):test
當(dāng)前頁(yè)顯示20條數(shù)據(jù)
上述示例中,如果用戶(hù)輸入的數(shù)據(jù)符合要求,輸入的數(shù)據(jù)將被轉(zhuǎn)換為整數(shù)類(lèi)型,并執(zhí)行else子句中的代碼;如果用戶(hù)輸入的數(shù)據(jù)不符合要求,輸入的數(shù)據(jù)不能正確轉(zhuǎn)換為整數(shù)類(lèi)型,那么程序執(zhí)行exept子句中的代碼。








猜你喜歡:

Windows net start mysql啟動(dòng)MySQL發(fā)生系統(tǒng)錯(cuò)誤5

if…else語(yǔ)句介紹[python培訓(xùn)]

Python的if語(yǔ)句多層嵌套怎么使用?

傳智教育Python+大數(shù)據(jù)開(kāi)發(fā)高手班

0 分享到:
和我們?cè)诰€交談!