异常处理
2019-05-07 本文已影响0人
GIAO兄giao弟
当我们的程序在运行过程中有了错误,可能使程序中断,这就产生了一个异常,异常是一个python对象,我们可以捕获并处理它否则就会影响程序的运行,比如:
>>> 10 * (1/0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: division by zero
>>> 4 + spam*3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'spam' is not defined
>>> '2' + 2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Can't convert 'int' object to str implicitly
我们可以使用 try...except 语句来处理异常
while True:
try:
x = int(input("please enter a number : "))
continue
except ValueError:
print("请输入数字类型")
try语句是这样执行的
1.先执行try里边的语句
2.如果没有异常发生就跳过except语句
3.如果执行try里边的语句发生了异常,就会跳过该语句中剩下的部分,拿这个异常和except中的异常类型相匹配,如果匹配成功,执行except里边的语句,之后再执行try中剩下的语句
4.如果发生的异常和except中的异常不匹配,就说明这个异常是未处理异常,程序停止