*
* @ingroup XBT_ex_c
*/
-class XBT_PUBLIC xbt_ex : public simgrid::exception, public simgrid::xbt::WithContextException {
+class XBT_PUBLIC xbt_ex : public simgrid::exception, public simgrid::xbt::ContextedException {
public:
xbt_ex() : simgrid::exception() {}
* @param message Exception message
*/
xbt_ex(simgrid::xbt::ThrowPoint throwpoint, const char* message)
- : simgrid::exception(message), simgrid::xbt::WithContextException(throwpoint, simgrid::xbt::backtrace())
+ : simgrid::exception(message), simgrid::xbt::ContextedException(throwpoint, simgrid::xbt::backtrace())
{
}
* This is a base class for exceptions which store additional contextual
* information: backtrace, throw point, simulated process name, PID, etc.
*/
-class XBT_PUBLIC WithContextException {
+class XBT_PUBLIC ContextedException {
public:
- WithContextException() :
+ ContextedException() :
backtrace_(simgrid::xbt::backtrace()),
procname_(xbt_procname()),
pid_(xbt_getpid())
{}
- explicit WithContextException(Backtrace bt) : backtrace_(std::move(bt)), procname_(xbt_procname()), pid_(xbt_getpid())
+ explicit ContextedException(Backtrace bt) : backtrace_(std::move(bt)), procname_(xbt_procname()), pid_(xbt_getpid())
{}
- explicit WithContextException(ThrowPoint throwpoint, Backtrace bt)
+ explicit ContextedException(ThrowPoint throwpoint, Backtrace bt)
: backtrace_(std::move(bt)), procname_(xbt_procname()), pid_(xbt_getpid()), throwpoint_(throwpoint)
{}
- virtual ~WithContextException();
+ virtual ~ContextedException();
Backtrace const& backtrace() const
{
return backtrace_;
namespace simgrid {
namespace xbt {
-WithContextException::~WithContextException() = default;
+ContextedException::~ContextedException() = default;
void log_exception(e_xbt_log_priority_t prio, const char* context, std::exception const& exception)
{
try {
auto name = simgrid::xbt::demangle(typeid(exception).name());
- auto* with_context = dynamic_cast<const simgrid::xbt::WithContextException*>(&exception);
+ auto* with_context = dynamic_cast<const simgrid::xbt::ContextedException*>(&exception);
if (with_context != nullptr)
XBT_LOG(prio, "%s %s by %s/%d: %s", context, name.get(), with_context->process_name().c_str(),
with_context->pid(), exception.what());