怎样添加try和except分支结构处理异常【Python技术讲解】

文章讨论了程序开发中遇到的运行错误,特别是如何通过Python的try-except结构处理eval()函数可能导致的异常。通过实例说明了如何在01_calc.py中添加异常处理,以增强程序的稳定性,防止因用户输入非数值导致的错误。
摘要由CSDN通过智能技术生成

尽管程序开发人员在编写程序时会尽可能地考虑实际应用时出现的问题,但仍难避免因不规范操作导致的运行错误。例如程序01_calc.py中使用eval()函数处理与计算变量numl和num2接收的内容,理论上numl和num2应接收表示数值的字符串,然而用户的实际输入可能各式各样,此时程序将因错误而崩溃,具体如下所示:

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
程序异常退出。

异常处理结构可以处理程序中出现的多种异常,包括输入异常、运行异常等。合理利用异常处理结构,有助于提高程序的稳定性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值