From a6a734f16652d3e5f1a5f76bb3cbb35eff106f54 Mon Sep 17 00:00:00 2001 From: eap Date: Thu, 10 Oct 2013 10:26:03 +0000 Subject: [PATCH] catch exceptions in "rate = algo->GetProgress();" --- src/SMESH/SMESH_Mesh.cxx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/SMESH/SMESH_Mesh.cxx b/src/SMESH/SMESH_Mesh.cxx index c45fefd88..691b86b76 100644 --- a/src/SMESH/SMESH_Mesh.cxx +++ b/src/SMESH/SMESH_Mesh.cxx @@ -1486,7 +1486,17 @@ double SMESH_Mesh::GetComputeProgress() const algoDoneCost += smToCompute[i]->GetComputeCost(); currentSubIds.Add( smToCompute[i]->GetId() ); } - double rate = algo->GetProgress(); + double rate = 0; + try + { + OCC_CATCH_SIGNALS; + rate = algo->GetProgress(); + } + catch (...) { +#ifdef _DEBUG_ + cerr << "Exception in " << algo->GetName() << "::GetProgress()" << endl; +#endif + } if ( 0. < rate && rate < 1.001 ) { computedCost += rate * ( algoDoneCost + algoNotDoneCost ); -- 2.30.2