更新時間:2022-06-16 來源:傳智教育 瀏覽量:
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以上展示的由于輸入與預期不匹配造成的錯誤有很多種可能,編寫程序時很難逐一列舉進行判斷,為了保證程序能夠穩(wěn)定運行,編程語言一般都會提供異常處理語句,幫助程序捕獲、控制與處理異常。
Python語言使用保留字try和except組合成的分支結(jié)構(gòu)以處理異常,此種分支結(jié)構(gòu)的語法格式如下:
try: 代碼段1 except: 代碼段2
以上語法格式中的代碼段1是需要捕獲異常的語句,以及未出現(xiàn)異常時程序?qū)?zhí)行的語句;代碼段2是出現(xiàn)異常時程序?qū)?zhí)行的語句。下面修改程序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)錯誤,將會執(zhí)行第9行代碼,打印“程序異常退出?!?。程序執(zhí)行后分別輸入123和test,執(zhí)行結(jié)果具體如下所示:
num1=129 num2=test 程序異常退出。
異常處理結(jié)構(gòu)可以處理程序中出現(xiàn)的多種異常,包括輸入異常、運行異常等。合理利用異常處理結(jié)構(gòu),有助于提高程序的穩(wěn)定性。