Salome HOME
fix: replace unordered_set/map with set/map
[tools/medcoupling.git] / src / INTERP_KERNEL / Bases / InterpKernelException.hxx
index d165bfe8208586552dbbc5b16497233d03a94561..1d6ce7d7c6c346d7a117d7847d46906185b0db83 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D
+// Copyright (C) 2007-2024  CEA, EDF
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -25,6 +25,7 @@
 
 #include <string>
 #include <exception>
+#include <sstream>
 
 namespace INTERP_KERNEL
 {
@@ -34,11 +35,17 @@ namespace INTERP_KERNEL
     INTERPKERNEL_EXPORT Exception(const char *reason);
     INTERPKERNEL_EXPORT Exception(const std::string& reason);
     INTERPKERNEL_EXPORT Exception(const char *reason, const char *file, int line);
-    INTERPKERNEL_EXPORT ~Exception() throw ();
-    INTERPKERNEL_EXPORT const char *what() const throw();
+    INTERPKERNEL_EXPORT ~Exception() noexcept(true);
+    INTERPKERNEL_EXPORT const char *what() const noexcept(true);
   protected:
     std::string _reason;
   };
 }
 
+#define THROW_IK_EXCEPTION(text)               \
+{                                              \
+    std::ostringstream oss; oss << text;       \
+    throw INTERP_KERNEL::Exception(oss.str()); \
+}
+
 #endif