Each formatted output function begins execution by constructing an object of class
If that object returns
when converted to a value of type
the function endeavors
to generate the requested output.
If the generation fails, then the formatted output function does
which can throw an exception.
If an exception is thrown during output, then
(exceptions()&badbit) != 0
then the exception is rethrown.
Whether or not an exception is thrown, the
object is destroyed before leaving the formatted output function.
If no exception is thrown, the result of the formatted output function