#include <iostream>
#include <string>
#include <stdexcept>
void foo()
{
auto func = [] (std::string msg) [[noreturn]] { throw std::runtime_error(msg); };
return func("Test Message");
}
int main()
{
try
{
foo();
}
catch (...)
{
std::cout << "Caught the exception.\n";
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8c3RkZXhjZXB0PgoKdm9pZCBmb28oKQp7CiAgYXV0byBmdW5jID0gW10gKHN0ZDo6c3RyaW5nIG1zZykgW1tub3JldHVybl1dIHsgdGhyb3cgc3RkOjpydW50aW1lX2Vycm9yKG1zZyk7IH07CiAgcmV0dXJuIGZ1bmMoIlRlc3QgTWVzc2FnZSIpOwp9CgppbnQgbWFpbigpCnsKICAgdHJ5IAogICB7CiAgICAgIGZvbygpOwogICB9CiAgIGNhdGNoICguLi4pCiAgIHsKICAgICAgc3RkOjpjb3V0IDw8ICJDYXVnaHQgdGhlIGV4Y2VwdGlvbi5cbiI7CiAgIH0KfQo=