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

 

 
 
posted on 2017-12-20 17:15  yuluoxingkong  阅读(1544)  评论(0编辑  收藏  举报