What is the question exactly? What to return from the third overload? The return type should be
Exception &&
, then return std::move(e);
.