#include <xbt/backtrace.hpp>
#include <xbt/ex.h>
+#include <xbt/string.hpp>
#include <atomic>
#include <functional>
~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) {}
}
};
-XBT_ATTRIB_DEPRECATED_v327("Please use simgrid::TimeoutException") typedef TimeoutException TimeoutError;
+XBT_ATTRIB_DEPRECATED_v328("Please use simgrid::TimeoutException") typedef TimeoutException TimeoutError;
/** Exception raised when a host fails */
class HostFailureException : public Exception {
}
};
+/** Exception raised when something is going wrong during the parsing of XML files */
+class ParseError : public Exception {
+public:
+ ParseError(const std::string& file, int line, const std::string& msg)
+ : Exception(XBT_THROW_POINT, xbt::string_printf("Parse error at %s:%d: %s", file.c_str(), line, msg.c_str()))
+ {
+ }
+};
+
class XBT_PUBLIC ForcefulKillException {
/** @brief Exception launched to kill an actor; DO NOT BLOCK IT!
*
} // namespace simgrid
-XBT_ATTRIB_DEPRECATED_v327("Please use simgrid::Exception") typedef simgrid::Exception xbt_ex;
+XBT_ATTRIB_DEPRECATED_v328("Please use simgrid::Exception") typedef simgrid::Exception xbt_ex;
#endif