这是引发错误的函数。
def indexing(stem, stopwords):
result = sort()
if os.path.exists('mem_F_F') == False:
fileName = ''
if stem == False and stopwords == False:
fileName = 'mem_F_F'
elif stem == False and stopwords == True:
fileName = 'mem_F_T'
elif stem == True and stopwords == False:
fileName = 'mem_T_F'
elif stem == True and stopwords == True:
fileName = 'mem_T_T'
writefile(fileName, result)
print 'write mem'
return
if os.path.exists('mem1_F_F') == False:
fileName = ''
if stem == False and stopwords == False:
fileName = 'mem1_F_F'
elif stem == False and stopwords == True:
fileName = 'mem1_F_T'
elif stem == True and stopwords == False:
fileName = 'mem1_T_F'
elif stem == True and stopwords == True:
fileName = 'mem1_T_T'
writefile(fileName, result)
documents.mergefile()
我在另一个函数中将此函数称为
def doIndex():
thread.start_new_thread(indexing, (False, False))
thread.start_new_thread(indexing, (False, True))
thread.start_new_thread(indexing, (True, False))
thread.start_new_thread(indexing, (True, True))
我尝试将它放在try-except中,但它没有提到异常是什么。
错误如下
线程中未处理的异常由线程中的未处理异常启动,线程中的未处理异常由线程中的未处理异常启动
追踪(最近一次呼叫最后一次):
追踪(最近一次呼叫最后一次):
追踪(最近一次呼叫最后一次):
追踪(最近一次呼叫最后一次):
文件" C:\ Users .... \ token,py",第110行,在索引中
文件" C:\ Users .... \ token,py",第110行,在索引中
文件" C:\ Users .... \ token,py",第110行,在索引中
文件" C:\ Users .... \ token,py",第110行,在索引中
writefile(filename,result)writefile(filename,result)writefile(filename,result)writefile(filename,result)
答案 0 :(得分:0)
通常情况下,此异常意味着主线程在子线程结束之前结束。只需在主线程添加time.sleep(10)
就可以解决这个问题,或者添加一些等待它们结束的函数。