[format.err.report]

Formatting functions throw format_error if an argument fmt is passed that is not a format string for args.

They propagate exceptions thrown by operations of formatter specializations and iterators.

Failure to allocate storage is reported by throwing an exception as described in [res.on.exception.handling].