[expr.throw] (original) (raw)
7 Expressions [expr]
7.6 Compound expressions [expr.compound]
7.6.18 Throwing an exception [expr.throw]
throw-expression: throw assignment-expression
A throw-expression is of type void.
Evaluating a throw-expression with an operand throws an exception; the type of the exception object is determined by removing any top-level cv-qualifiers from the static type of the operand and adjusting the type from “array of T” or function type Tto “pointer to T”.
The exception is reactivated with the existing exception object; no new exception object is created.
The exception is no longer considered to be caught.
[ Example
:
Code that must be executed because of an exception, but cannot completely handle the exception itself, can be written like this:
try { // ... } catch (...) { // catch all exceptions // respond (partially) to exception throw; // pass the exception to some other handler }
— end example
]