在python程序中,一般会对输入有一定的要求,当实际输入不满足程序要求时,可能会产生程序的运行错误。
例如:n = eval(input('请输入一个数值'))
在执行该代码后,如果你输入的不是数字,就可能报错(报错类型为NameError)。这一类(输入与预期不匹配)造成的错误有多种可能性,无法逐一列出所有可能性进行判断,因此Python中使用try-except进行程序捕获并合理控制。
(在此对eval函数为什么出现错误进行简单的解释:eval的作用简单理解为去除其输入参数两边的‘’ ,如果你使用input输入了python,原代码就变为了n = eval('python'),再进行下一步 n = eval(python) ,可以看出去掉‘’之后字符串'python'变为了变量python,所以python的性质从根本发生了变化,导致了程序出错。)
语法格式:
<基本用法>
try:
语句块1
except:
语句块2
<扩展用法>
try:
语句块1
except 异常错误类型:
语句块2
except:
语句块3
一般会把可能会出现错误的语句代码放在语句块1中,如果语句块1出现了异常,编译器不会出现红色的报错,而是会执行语句块2中的代码。
对于其拓展用法,就是在except后增加异常错误类型,当出现该错误时执行其中语句块内容。
异常错误类型大家可以参考该网站文章:Python 异常处理 | 菜鸟教程 (runoob.com)