【发布时间】:2023-03-05 16:36:01
【问题描述】:
当使用concurrent.futures.ThreadPoolExecutor() 时,它不会为try except 抛出异常。
例如:
num = [1,2,3,4,5]
def div():
for i in num:
return i/0
print('Done')
try:
div()
except:
print('Not Divisible by 0')
上面的代码打印了except 部分,但下面的代码没有
num = [1,2,3,4,5]
def div(i):
return i/0
try:
with concurrent.futures.ThreadPoolExecutor() as executor:
executor.map(div, num)
print('Done')
except:
print('Not Divisible by 0')
【问题讨论】:
-
从执行器获取结果,然后会看到异常。像这样
try: with concurrent.futures.ThreadPoolExecutor() as executor: results=executor.map(div, num) for result in results: print(result) print('Done')
标签: python exception concurrent.futures try-except