更新時(shí)間:2021-07-16 來源:黑馬程序員 瀏覽量:
異常處理的主要目的是防止因外部環(huán)境的變化導(dǎo)致程序產(chǎn)生無法控制的錯(cuò)誤,而不是處理程序的設(shè)計(jì)錯(cuò)誤。因此,將所有的代碼都用try語句包含起來的做法是不推薦的,try語句應(yīng)盡量只包含可能產(chǎn)生異常的代碼。Python中try-except語句還可以與else子句聯(lián)合使用,該子句放在except語句之后,表示當(dāng)try子句沒有出現(xiàn)錯(cuò)誤時(shí)應(yīng)執(zhí)行的代碼。其格式如下:
try: 可能出錯(cuò)的語句 ...... except: 出錯(cuò)后的執(zhí)行語句 else: 未出錯(cuò)時(shí)的執(zhí)行語句例如,某程序的分頁顯示數(shù)據(jù)功能可以根據(jù)用戶輸入控制每頁顯示多少條數(shù)據(jù),但要求用戶輸入的數(shù)據(jù)為整數(shù)類型數(shù)據(jù),如果輸入的數(shù)據(jù)符合輸入要求,每頁顯示用戶指定的條數(shù);如果輸入的數(shù)據(jù)不不符合要求,則使用默認(rèn)顯示條數(shù),示例如下:
num =input("請(qǐng)輸入每頁顯示多少條數(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)前頁顯示{page_size}條數(shù)據(jù)") else: print(f"當(dāng)前頁顯示{num}條數(shù)據(jù)") # 加載數(shù)據(jù)如果用戶輸入的數(shù)據(jù)符合要求,結(jié)果如下所示:
請(qǐng)輸入每頁顯示多少條數(shù)據(jù):15 當(dāng)前頁顯示15條數(shù)據(jù)如果用戶輸入的數(shù)據(jù)不符合要求,結(jié)果如下所示:
請(qǐng)輸入每頁顯示多少條數(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子句中的代碼。