/* ex - Exception Handling */
-/* Copyright (c) 2005-2013. The SimGrid Team. */
+/* Copyright (c) 2005-2014. The SimGrid Team.
+ * All rights reserved. */
+
/* Copyright (c) 2002-2004 Ralf S. Engelschall <rse@engelschall.com> */
/* Copyright (c) 2002-2004 The OSSP Project <http://www.ossp.org/> */
/* Copyright (c) 2002-2004 Cable & Wireless <http://www.cw.com/> */
thread_error, /**< error while [un]locking */
host_error, /**< host failed */
tracing_error, /**< error during the simulation tracing */
- io_error /**< disk or file error */
+ io_error, /**< disk or file error */
+ vm_error /**< vm error */
} xbt_errcat_t;
XBT_PUBLIC(const char *) xbt_ex_catname(xbt_errcat_t cat);
#define THROW_UNIMPLEMENTED \
THROWF(unknown_error, 0, "Function %s unimplemented",_XBT_FUNCTION)
-#ifndef NDEBUG
-# define DIE_IMPOSSIBLE xbt_assert(0,"The Impossible Did Happen (yet again)")
-#else
-# define DIE_IMPOSSIBLE exit(1);
-#endif
+#define DIE_IMPOSSIBLE xbt_die("The Impossible Did Happen (yet again)")
/** @brief re-throwing of an already caught exception (ie, pass it to the upper catch block)
* @hideinitializer