X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FINTERP_KERNEL%2FBases%2FInterpKernelException.hxx;h=1d6ce7d7c6c346d7a117d7847d46906185b0db83;hb=HEAD;hp=ae63b39b056c3158d955aabb8c2cdf18e64e6a47;hpb=f1a947b32a36d8dc8e3079b25305bb50e8cb59a0;p=tools%2Fmedcoupling.git diff --git a/src/INTERP_KERNEL/Bases/InterpKernelException.hxx b/src/INTERP_KERNEL/Bases/InterpKernelException.hxx index ae63b39b0..1d6ce7d7c 100644 --- a/src/INTERP_KERNEL/Bases/InterpKernelException.hxx +++ b/src/INTERP_KERNEL/Bases/InterpKernelException.hxx @@ -1,9 +1,9 @@ -// Copyright (C) 2007-2013 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 // 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 @@ -25,19 +25,27 @@ #include #include +#include namespace INTERP_KERNEL { - class INTERPKERNEL_EXPORT Exception : public std::exception + class Exception : public std::exception { public: - Exception(const char *reason); - Exception(const char *reason, const char *file, int line); - ~Exception() throw (); - const char *what() const throw(); + 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() 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