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
|