Python 线程异常退出
大家好,最近写的代码中,发现了一个问题求解答:
在一个线程的run函数中,示例如下:
run()
try:
print "start"
doSomthing()
print "end"
except Exception,e:
print "error"
在日志中打印出了:
start
缺没有end,error。请问是如何退出这个函数的呢?
python,多线程
[解决办法]
可能有以下原因:
1) dosomething中直接exit退出,等同于2中的systemExit
2) 产生了下面几个异常,实际上,和Exception并列的还有其他的几个异常
BaseException
+-- SystemExit
+-- KeyboardInterrupt
+-- GeneratorExit
+-- Exception
[解决办法]
可以先不用线程,找出错误原因后再改用线程