python的线程中的异常,通常不会给你显示出错的语句。你可以将thread函数,或者是Thread的run里的内容用整个儿的try catch包裹起来。
然后这样
import traceback,sys
try:
threadfun1()
except:
traceback.print_exc(file=sys.stdout)
这样出错的时候就能定位到是哪一行代码了。
因为线程经常出现这种无显示错误位置的情形。后来都形成了习惯,要不把线程放在try catch里。要不就仔细检查线程函数,确保它没有错误,再放出去运行。
另外你还可以将线程函数的功能放在主进程里,单线程运行。这样错误位置就曝露出来了。
仅仅从你这个提示来看是无法定位错误的位置与类型的。
几个建议
1、想办法缩短报错的时间,如11分钟改成10秒;
2、用try catche试找出错误的地方,参考bdwisyou的回答
3、如果2不行,逐行删除代码,直到程序没有报错为止
错误信息在哪呢?