getfem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Getfem-commits] (no subject)


From: Yves Renard
Subject: [Getfem-commits] (no subject)
Date: Fri, 14 Jul 2017 01:37:42 -0400 (EDT)

branch: master
commit 325568c92c105710f4650c759226cca7e5fa7c23
Author: rpplx <address@hidden>
Date:   Wed Jul 12 22:19:10 2017 +0200

    Introduced macro GMM_THROW_AT_LEVEL that besides error message accepts the 
error level argument and then trows gmm_error with specific error level set.
---
 src/gmm/gmm_except.h | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/src/gmm/gmm_except.h b/src/gmm/gmm_except.h
index 0bdd848..26cb338 100644
--- a/src/gmm/gmm_except.h
+++ b/src/gmm/gmm_except.h
@@ -93,6 +93,16 @@ namespace gmm {
           << errormsg << std::ends;                                     \
     throw (type)(msg__.str());                                          \
   }
+
+# define GMM_THROW_AT_LEVEL(errormsg, level)                            \
+  {                                                                     \
+  std::stringstream msg;                                                \
+  msg << "Error in " << __FILE__ << ", line "                           \
+  << __LINE__ << " " << GMM_PRETTY_FUNCTION << ": \n"                   \
+  << errormsg << std::ends;                                             \
+  throw gmm::gmm_error(msg.str(), level);                               \
+  }
+
 #else
 #ifndef _MSC_VER
 # define abort_no_return() ::abort()
@@ -118,6 +128,16 @@ namespace gmm {
     std::cerr << msg__.str() << std::endl;                                  \
     abort_no_return();                                                      \
   }
+
+# define GMM_THROW_AT_LEVEL(errormsg, level)                                \
+  {                                                                         \
+  std::stringstream msg__;                                                  \
+  msg__ << "Error in " << __FILE__ << ", line "                             \
+  << __LINE__ << " " << GMM_PRETTY_FUNCTION << ": \n"                       \
+  << errormsg <<  " at level " << level;                                    \
+  std::cerr << msg__.str()  << std::endl;                                   \
+  abort_no_return();                                                        \
+  }
 #endif
 
 # define GMM_ASSERT1(test, errormsg)                                        \



reply via email to

[Prev in Thread] Current Thread [Next in Thread]