~ImpossibleError();
};
+class XBT_PUBLIC InitializationError : public std::logic_error {
+public:
+ explicit InitializationError(const std::string& arg) : std::logic_error(arg) {}
+ ~InitializationError();
+};
+
class XBT_PUBLIC UnimplementedError : public std::logic_error {
public:
explicit UnimplementedError(const std::string& arg) : std::logic_error(arg) {}
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
+#include "simgrid/Exception.hpp"
#include "simgrid/plugins/energy.h"
#include "simgrid/s4u/Engine.hpp"
#include "simgrid/s4u/Exec.hpp"
static void ensure_plugin_inited()
{
if (not HostEnergy::EXTENSION_ID.valid())
- throw std::logic_error("The Energy plugin is not active. Please call sg_host_energy_plugin_init() before calling "
- "any function related to that plugin.");
+ throw simgrid::xbt::InitializationError("The Energy plugin is not active. Please call sg_host_energy_plugin_init() "
+ "before calling any function related to that plugin.");
}
/** @ingroup plugin_host_energy
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
+#include "simgrid/Exception.hpp"
#include "simgrid/plugins/energy.h"
#include "simgrid/s4u/Engine.hpp"
#include "src/surf/network_interface.hpp"
double sg_link_get_consumed_energy(sg_link_t link)
{
if (not LinkEnergy::EXTENSION_ID.valid())
- throw std::logic_error("The Energy plugin is not active. Please call sg_link_energy_plugin_init() before calling "
- "sg_link_get_consumed_energy().");
+ throw simgrid::xbt::InitializationError("The Energy plugin is not active. Please call sg_link_energy_plugin_init() "
+ "before calling sg_link_get_consumed_energy().");
return link->extension<LinkEnergy>()->get_consumed_energy();
}
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)
{