Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
並列領域内で「例外のスロー」を使用しても問題ありませんか?
1 つのスレッドが例外をスローすると、残りのスレッドはどうなりますか?
コード:
#pragma omp parallel for for(int i = 0; i < n; i++) { if(arr[i] < 0) throw BadParameter("bad array value"); }
並列領域内で実行されたスローは、同じ並列領域内で実行を再開する必要があり、例外をスローした同じスレッドによってキャッチされる必要があります。
そうしないと、未処理の例外に伝播します。