Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use type bool for boolean variables.
[simgrid.git] / src / xbt / exception.cpp
index 7e4366a..a152102 100644 (file)
@@ -27,8 +27,9 @@ void _xbt_throw(char* message, int value, const char* file, int line, const char
 namespace simgrid {
 namespace xbt {
 
-ImpossibleError::~ImpossibleError()       = default;
-UnimplementedError::~UnimplementedError() = default;
+ImpossibleError::~ImpossibleError()         = default;
+InitializationError::~InitializationError() = default;
+UnimplementedError::~UnimplementedError()   = default;
 
 void log_exception(e_xbt_log_priority_t prio, const char* context, std::exception const& exception)
 {
@@ -54,8 +55,7 @@ void log_exception(e_xbt_log_priority_t prio, const char* context, std::exceptio
       return;
     try {
       with_nested->rethrow_nested();
-    }
-    catch (std::exception& nested_exception) {
+    } catch (const std::exception& nested_exception) {
       log_exception(prio, "Caused by", nested_exception);
     }
     // We could catch nested_exception or WithContextException but we don't bother:
@@ -99,14 +99,14 @@ static void handler()
   }
 
   // Parse error are handled differently, as the call stack does not matter, only the file location
-  catch (simgrid::ParseError& e) {
+  catch (const simgrid::ParseError& e) {
     XBT_ERROR("%s", e.what());
     XBT_ERROR("Exiting now.");
     std::abort();
   }
 
   // We manage C++ exception ourselves
-  catch (std::exception& e) {
+  catch (const std::exception& e) {
     log_exception(xbt_log_priority_critical, "Uncaught exception", e);
     show_backtrace(bt);
     std::abort();