首先是报错的时候对于异常的认知,多写多出错增长经验吧
python报错中英文对照-http://www.runoob.com/python/python-exceptions.html
或许这篇文章更全面
爱哭鬼的异常处理-https://www.cnblogs.com/Lival/p/6203111.html
下面是对try, except,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这种形式,那么直接抛出异常,不会执行到这里