raise 异常抛出

try:
    s = None
    if s is None:
        print ("s 是空对象")
        raise NameError     #如果引发NameError异常,后面的代码将不能执行
    print (len(s))  #这句不会执行,但是后面的except还是会走到
except:
    print ("空对象没有长度")

>>>s 是空对象
   空对象没有长度
try:
    s = None
    if s is None:
        print ("s 是空对象")
        raise NameError     
    print (len(s))  #这句不会执到
except TypeError:
    print ("空对象没有长度")

>>>s 是空对象
   Traceback (most recent call last):
   File "C:\Users\13479\AppData\Local\Temp\codemao-KZj6DT/temp.py", line 5, in <module>     
    raise NameError
   NameError

触发异常

我们可以使用raise语句自己触发异常

raise语法格式如下:

raise [Exception [, args [, traceback]]]

语句中 Exception 是异常的类型(例如,NameError)参数标准异常中任一种,args 是自已提供的异常参数。

最后一个参数是可选的(在实践中很少使用),如果存在,是跟踪异常对象。

猜你喜欢

转载自blog.csdn.net/zjkpy_5/article/details/86492063