gpt4 book ai didi

c++ - 在并行区域内使用 "throw exception"可以吗?

转载 作者:太空狗 更新时间:2023-10-29 20:45:35 24 4
gpt4 key购买 nike

在并行区域内使用“抛出异常”可以吗?

当一个线程抛出异常时,其余线程会发生什么?

代码:

#pragma omp parallel for
for(int i = 0; i < n; i++)
{
if(arr[i] < 0)
throw BadParameter("bad array value");
}

最佳答案

在并行区域内执行的抛出必须导致执行在同一并行区域内恢复,并且必须由抛出异常的同一线程捕获。

否则它将传播到未处理的异常。

关于c++ - 在并行区域内使用 "throw exception"可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10439205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com