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 是自已提供的异常参数。
最后一个参数是可选的(在实践中很少使用),如果存在,是跟踪异常对象。