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:
or of a type derived from a type named in the Throws:
that would be caught by an exception handler for the base type.