在进行Python程序编写的时候,我们总难免会犯错,而导致程序报错。
例如运行以下代码时
num=eval(input("请输入一个整数"))
print(num**2)
当我们输入一个整数的时候,程序会正常进行。要是我们输入的不是数字呢?
当我们输入的不是数字的时候,我们会发现程序报错了,现在我们就来分析下Python解释器返回的异常信息。其中的第三行为异常文件的路径,并且标注了错误所在的行。最后一行中的NameError则是异常类型,它时Python异常信息中最重要的部分,表明了发生异常的原因,也是程序处理异常的依据。在NameError后面的则是异常内容提示。
为了避免出现这种情况,我们可以使用try-except语句实现异常处理。在知道了这个后,我们就可以对上面代码进行改进,使其不会报错。
try:
num=eval(input("请输入一个整数"))
print(num**2)
except:
print("输入有误,请重新输入!")
另外我在这里解释下异常和错误的区别:
异常和错误都可能引起程序执行错误而退出,它们属于程序没有考虑到的例外情况。然而,绝大多数不可控因素是可以预见的,例如,程序期望获得数字输入却得到了其他字符输入等。这种可以预见的例外情况称为”异常“,异常发生后经过妥善处理可以继续执行。另外一些因为程序编码逻辑产生的不可预见的例外情况称为"错误"。