更新时间: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
以上展示的由于输入与预期不匹配造成的错误有很多种可能,编写程序时很难逐一列举进行判断,为了保证程序能够稳定运行,编程语言一般都会提供异常处理语句,帮助程序捕获、控制与处理异常。Python语言使用保留字try和except组合成的分支结构以处理异常,此种分支结构的语法格式如下:
try:
代码段1
except:
代码段2
以上语法格式中的代码段1是需要捕获异常的语句,以及未出现异常时程序将执行的语句;代码段2是出现异常时程序将会执行的语句。下面修改程序01_calc.py,在其中添加异常处理结构。修改后的程序如下:
#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("程序异常退出。")
以上程序执行后若出现错误,将会执行第9行代码,打印“程序异常退出。”。程序执行后分别输入123和test,执行结果具体如下所示:
num1=129
num2=test
程序异常退出。
异常处理结构可以处理程序中出现的多种异常,包括输入异常、运行异常等。合理利用异常处理结构,有助于提高程序的稳定性。