看前辈的代码经常出现sys.exit(0),想研究一下python的异常处理;
sys.exit(n)一般在交互式shell中退出时用到;
n默认0,正常腿粗,可以捕获异常执行些清理工作。其他都为非正常退出。
还有os._exit(n)直接退出,不抛出异常。常用在子线程中。
异常也是对象,所有异常都是基类Exception的成员。python的异常名称放在内建命名空间中,所以不必导入exception模块。
捕获
#try和except
except IOError,e:
print e
捕获的IOError的详细原因会被放在对象e中;
tips:当使用多个except子句时,若有继承关系,子类写前面!
#try和finally(无论是否异常都要执行代码,如打开关闭文件)