0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-26 08:42:34 +01:00

ircd::ctx: Improve exception handling at base frame.

This commit is contained in:
Jason Volk 2019-01-13 15:58:05 -08:00
parent cbf456a388
commit 1a53b0e6e4

View file

@ -109,11 +109,11 @@ noexcept try
}
catch(const ircd::ctx::interrupted &)
{
return;
}
catch(const ircd::ctx::terminated &)
{
return;
}
catch(const std::exception &e)
{
@ -124,14 +124,15 @@ catch(const std::exception &e)
id,
e.what()
};
// Preserving the stacktrace from the throw point here is hopeless.
// We can terminate for developer nuisance but we will never know
// where this exception came from and where it is going. Bottom line
// is that #ifdef'ing away this handler or rethrowing isn't as useful as
// handling the exception here with a log message and calling it a day.
assert(0);
return;
}
catch(...)
{
log::critical
{
"ctx('%s' id:%u): unexpected",
name,
id
};
}
/// Direct context switch to this context.