1.对于一个程序有异常中断时正常的,在Python中的异常有try....except语句,如下实例:
while True:
try:
x = int(input("Please enter a integer number"))
break
except ValueError:
print("Oops, That was no valid number ,please tyr again!")
对于上面的try.....except语句,如果没有异常发生的,程序就会自动弹出。如果输入的不是整数,异常就会执行,并且try语句之后,程序会继续执行。还有若程序抛出的异常并不是其错误,就会抛出其它的异常。except(ValueError,TypeError,NameError等)
2.派生类与基类不兼容的异常,如下实例:
#实例1
class B(Exception:
pass
class C(B):
pass
class D(C):
pass
for cls in [B, C, D]:
try:
raise cls()
except D:
print("D")
except C:
print("C")
except B:
print("B")
#输出结果
B
C
D
#如若改成for cls in [D, C, B]:
#输出结果
D
C
B