语句try-except
try:
<语句块1>
except <异常类型>:
<语句块2>
因为input返回的是一个字符串
通过try-except:
ps:刚刚在测试的时候,异常类型写的是NameError,结果没用
所以不能乱填,不如写个默认的好些
异常和错误
异常和错误虽然都可能引起程序执行错误而退出。然而,绝大多数不可控因素是可以预见的,例如,程序期望获得数字输入却得到了其他字符的输入,这种可以预见的例外情况称为异常,异常发生后妥善处理可以继续执行。
高级用法
try-except 语句可以支持多个except语句:
try:
<语句块1>
except <异常类型1>:
<语句块2>
…(省略了很多except)
except <异常类型N>:
<语句块N+1>
except :
<语句块N+2>
ps: 第1到第N个except语句后面都指定了异常类型,说明这些except所包含的语句块只处理这些类型的异常,最后没指定的表示他可以处理所有其他异常。这个过程与if-elif-elif ……….-else类似,如下面几个图(还没学会怎末插图片好看…)
配合else和finally使用
try:
<语句块1>
except <异常类型1>:
<语句块2>
else:
<语句块3>
finally:
<语句块4>
ps:else和循环里面的一样,正常运行完后就执行
而finally无论是否发生异常,语句块4都会执行