异常处理

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中的异常不匹配,就说明这个异常是未处理异常,程序停止

注意: 一个try语句中可以有多个except语句,用来处理多种异常,一个except里边也可以有多个异常类型

上一篇下一篇

猜你喜欢

热点阅读