Any of the functions defined in the C++ standard library
can report a failure by throwing an exception of a type
described in its
Throws: paragraph,
or of a type derived from a type named in the
Throws: paragraph
that would be caught by a
handler (
[except.handle]) for the base type
.