https://www.cnblogs.com/zhangyin6985/p/7229553.html
当程序出现错误,python会自动引发异常,也可以通过raise显示地引发异常。一旦执行了raise语句,raise后面的语句将不能执行。
演示raise用法
try:
s = None
if s is None:
print "s 是空对象"
raise NameError #如果引发NameError异常,后面的代码将不能执行
print len(s) #这句不会执行,但是后面的except还是会走到
except TypeError:
print "空对象没有长度"
s = None
if s is None:
raise NameError
print 'is here?' #如果不使用try......except这种形式,那么直接抛出异常,不会执行到这里
#coding:utf-8 class NameNotFound(Exception): def __init__(self): print "名字没有发现异常" pass def test(x): if x==0: raise NameNotFound print "hello" try: test(0) except NameNotFound: print NameNotFound.message pass