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
T
to “pointer to
T”
.