关键字raise是用来抛出异常的,一旦抛出异常后,后续的代码将无法运行。
try:
s = None
if s is None:
print ("s 是空对象")
raise NameError #如果引发NameError异常,后面的代码将不能执行
print (len(s)) #这句不会执行,但是后面的except还是会走到
except TypeError:
print ("空对象没有长度")
s 是空对象
Traceback (most recent call last):
File "<ipython-input-11-b959e18c470d>", line 5, in <module>
raise NameError #如果引发NameError异常,后面的代码将不能执行
NameError
s = None
if s is None:
raise NameError
print ('is here?') #如果不使用try......except这种形式,那么直接抛出异常,不会执行到这里
Traceback (most recent call last):
File "<ipython-input-12-e4acbb64dfb7>", line 3, in <module>
raise NameError
NameError