Consider the following code:
#include #include void foo() { throw std::runtime_error(\"How long do I live?\"); } int
As Neil said, there is internal compiler magic going on. Also, be aware that the compiler is allowed to create any number of copies of the exception object.