更新時(shí)間:2022-06-16 來(lái)源:傳智教育 瀏覽量:
numl=itcast num2=3 Traceback (most recent call last): File "test.py", line 4, in <module> sum = eval (numl) +eval (nun2) File "<string>", line 1, in <module> NameError: name 'itcast' is not defined以上展示的由于輸入與預(yù)期不匹配造成的錯(cuò)誤有很多種可能,編寫程序時(shí)很難逐一列舉進(jìn)行判斷,為了保證程序能夠穩(wěn)定運(yùn)行,編程語(yǔ)言一般都會(huì)提供異常處理語(yǔ)句,幫助程序捕獲、控制與處理異常。
Python語(yǔ)言使用保留字try和except組合成的分支結(jié)構(gòu)以處理異常,此種分支結(jié)構(gòu)的語(yǔ)法格式如下:
try: 代碼段1 except: 代碼段2
以上語(yǔ)法格式中的代碼段1是需要捕獲異常的語(yǔ)句,以及未出現(xiàn)異常時(shí)程序?qū)?zhí)行的語(yǔ)句;代碼段2是出現(xiàn)異常時(shí)程序?qū)?huì)執(zhí)行的語(yǔ)句。下面修改程序01_calc.py,在其中添加異常處理結(jié)構(gòu)。修改后的程序如下:
#20_calc_try.py try: numl = input("numl=") num2 = input("num2=") sum = eval (numl) + eval (num2) differ = eval (numl) - eval (num2) print("sum=%d,differ=%d"% (sum,differ)) except: print("程序異常退出。")
以上程序執(zhí)行后若出現(xiàn)錯(cuò)誤,將會(huì)執(zhí)行第9行代碼,打印“程序異常退出。”。程序執(zhí)行后分別輸入123和test,執(zhí)行結(jié)果具體如下所示:
num1=129 num2=test 程序異常退出。
異常處理結(jié)構(gòu)可以處理程序中出現(xiàn)的多種異常,包括輸入異常、運(yùn)行異常等。合理利用異常處理結(jié)構(gòu),有助于提高程序的穩(wěn)定性。