Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Define and use utility class to compare pairs in priority queues.
[simgrid.git] / include / xbt / ex.hpp
index c1dcfb8..7e64973 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2005-2015. The SimGrid Team.
+/* Copyright (c) 2005-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /*  Copyright (c) 2002-2004 Ralf S. Engelschall <rse@engelschall.com>       */
 
 #include <xbt/ex.h>
 
-/** (Deprecated) Generic exception
+/** A legacy exception
  *
- *  An error is defined by a category and a value within that category.
+ *  It is defined by a category and a value within that category (as well as
+ *  an optional error message).
  *
  *  This used to be a structure for C exceptions but it has been retrofitted
  *  as a C++ exception and some of its data has been moved in the
- *  WithContextException base class. We should deprecate it and replace it
+ *  @ref WithContextException base class. We should deprecate it and replace it
  *  with either C++ different exceptions or `std::system_error` which already
  *  provides this (category + error code) logic.
+ *
+ *  @ingroup XBT_ex_c
  */
 struct XBT_PUBLIC() xbt_ex :
-  public std::runtime_error,
-  public simgrid::xbt::WithContextException {
-public:
+  std::runtime_error,
+  simgrid::xbt::WithContextException {
 
   xbt_ex() :
     std::runtime_error("")
@@ -77,13 +79,13 @@ public:
     simgrid::xbt::WithContextException(throwpoint, simgrid::xbt::backtrace())
   {}
 
-  ~xbt_ex() override;
+  ~xbt_ex();
 
   /** Category (what went wrong) */
-  xbt_errcat_t category;
+  xbt_errcat_t category = unknown_error;
 
   /** Why did it went wrong */
-  int value;
+  int value = 0;
 
 };