-// Copyright (C) 2007-2013 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
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
#include <Utils_SALOME_Exception.hxx>
#include <Standard_Failure.hxx>
#include <Standard_ErrorHandler.hxx>
-#include <Basics_OCCTVersion.hxx>
#include <utilities.h>
// IMPORTANT: include this file _after_ OCC ones, else OCC_CATCH_SIGNALS can be undefined!
#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<SMESH_TryCatch.hxx>
+
//-------------------------------------------------------------------------------------
#define SMESH_TRY \
//-------------------------------------------------------------------------------------
// A macro makes description of a caught exception and calls onExceptionFun(const char*).
-// Two onExceptionFun() are defined here: SMESH::throwSalomeEx() and SMESH::doNothing().
-// To add your own catch close, define SMY_OWN_CATCH macro before including this file.
+// Several onExceptionFun() are defined here: throwSalomeEx(), doNothing() and returnError().
+// To add your own catch clause, 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: "); \
{ \
SMESH_CAUGHT onExceptionFun( ex.what() ); \
} \
- \
- SMY_OWN_CATCH \
- \
catch (...) \
{ \
SMESH_CAUGHT onExceptionFun("Unknown Exception caught"); \
{
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