X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHUtils%2FSMESH_TryCatch.hxx;h=76f4b3378e24e46d873eb954c9ad28c4ee785bf0;hb=f016bdf914220827ec8f9a7048bc78fc3fb8c299;hp=bf2a8a73ccde9d99bf420b62c86a97a1acd7cf1d;hpb=251f8c052dd12dd29922210dc901b295fe999a0e;p=modules%2Fsmesh.git diff --git a/src/SMESHUtils/SMESH_TryCatch.hxx b/src/SMESHUtils/SMESH_TryCatch.hxx index bf2a8a73c..76f4b3378 100644 --- a/src/SMESHUtils/SMESH_TryCatch.hxx +++ b/src/SMESHUtils/SMESH_TryCatch.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -33,7 +33,6 @@ #include #include #include -#include #include // IMPORTANT: include this file _after_ OCC ones, else OCC_CATCH_SIGNALS can be undefined! @@ -42,7 +41,11 @@ #define OCC_CATCH_SIGNALS #endif -// Define macros to catch and convert some of possible exceptions into text or SALOME_Exception +// Define macros to catch and convert some of possible exceptions into text or SALOME_Exception. +// WARNING: SALOME::SALOME_Exception (CORBA exception) is not treated here; to care about it add +// #define SMY_OWN_CATCH catch ( SALOME::SALOME_Exception & e ) { do_something(e); } +// before #include + //------------------------------------------------------------------------------------- #define SMESH_TRY \ @@ -62,11 +65,14 @@ //------------------------------------------------------------------------------------- // A macro makes description of a caught exception and calls onExceptionFun(const char*). -// Two onExceptionFun() are defined here: SMESH::throwSalomeEx() and SMESH::doNothing(). +// Several onExceptionFun() are defined here: throwSalomeEx(), doNothing() and returnError(). // To add your own catch close, define SMY_OWN_CATCH macro before including this file. #define SMESH_CATCH( onExceptionFun ) \ } \ + \ + SMY_OWN_CATCH \ + \ catch (Standard_Failure& ex) \ { \ SMESH_Comment text("OCCT Exception: "); \ @@ -89,9 +95,6 @@ { \ SMESH_CAUGHT onExceptionFun( ex.what() ); \ } \ - \ - SMY_OWN_CATCH \ - \ catch (...) \ { \ SMESH_CAUGHT onExceptionFun("Unknown Exception caught"); \ @@ -104,6 +107,8 @@ namespace SMESH { SMESHUtils_EXPORT void throwSalomeEx(const char* txt); SMESHUtils_EXPORT void doNothing(const char* txt); + SMESHUtils_EXPORT const char* returnError(const char* txt); + SMESHUtils_EXPORT void printErrorInDebugMode(const char* txt); } #endif