/* 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;
#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
/** @brief Exception destructor */
XBT_PUBLIC(void) xbt_ex_free(xbt_ex_t e);
+/** @brief The display made by an exception that is not catched */
+XBT_PUBLIC(void) xbt_ex_display(xbt_ex_t * e);
/** @brief Shows a backtrace of the current location */
XBT_PUBLIC(void) xbt_backtrace_display_current(void);