exception
An object thrown to signal an error, which unwinds the stack until caught.
An exception is thrown with throw, travels up the call stack destroying locals on the way, and is handled by the nearest matching catch; uncaught, it ends the program with std::terminate.
See also