我使用MPI 我的程序終止並顯示Assertion (unsigned long)(size) >= (unsigned long)(nb) failed terminated by signal 6
C++程序終止而不執行捕捉塊
我添加到我的主要try和catch如以下
int main(int argc, char *argv[])
{
MPI_Init(&argc, &argv);
int rankid;
MPI_Comm_rank(MPI_COMM_WORLD, &rankid);
try
{
call functions
}
catch(...)
{
cout<<"error from "<<rankid<<endl;
throw;
}
return 0;
}
運行的代碼在平行我被
mpirun -np 2 ./a.out
我的代碼編譯使用mpicxx example.C
並運行它在我的代碼終止而不打印短語在趕上,它是試圖趕上應該強制我的程序執行什麼是在捕獲
我的黑貓正在打盹,水晶球正在維修 - 「呼叫功能」是幹什麼用的? –
Signal!=異常。信號比例外要低得多。你需要用信號處理程序來捕捉它們。如果中止信號被提出,你的程序太糟糕了,所以賠率相當不錯。不要處理它並繼續。處理它,並藉此機會打印可用於實際解決問題的診斷。 – user4581301