Make tinyformat noexcept: Use tinyformat's default error handling (assert(0 && reason);) instead of throwing tinyformat::format_error on incorrect format strings.
The only place where tinyformat::format_error was handled was in LogPrintf(...) where it was handled to generate output which is equivalent to what assert(0 && reason); provides.
Incorrect format strings are best handled explicitly locally in a "fail fast" manner. No need for propagation.
Since tinyformat is used extensively via strprintf(…) large parts of the code base are switched from an implicit "might throw tinyformat::format_error" to "will not throw" from a compiler/static analyzer perspective with this change.
Reducing the number of unnecessary exceptions thrown increases the signal-to-noise for humans when analyzing potential issues introduced by uncaught exceptions.
These were the conditions that threw tinyformat::format_error prior to this commit:
$ git grep TINYFORMAT_ERROR
src/tinyformat.h:// Error handling: Define TINYFORMAT_ERROR to customize the error handling for
src/tinyformat.h:#define TINYFORMAT_ERROR(reasonString) throw tinyformat::format_error(reasonString)
src/tinyformat.h:#ifndef TINYFORMAT_ERROR
src/tinyformat.h:# define TINYFORMAT_ERROR(reason) assert(0 && reason)
src/tinyformat.h: TINYFORMAT_ERROR("tinyformat: Cannot convert from argument type to "
src/tinyformat.h: TINYFORMAT_ERROR("tinyformat: Not enough conversion specifiers in format string");
src/tinyformat.h: TINYFORMAT_ERROR("tinyformat: Not enough arguments to read variable width");
src/tinyformat.h: TINYFORMAT_ERROR("tinyformat: Not enough arguments to read variable precision");
src/tinyformat.h: TINYFORMAT_ERROR("tinyformat: the %a and %A conversion specs "
src/tinyformat.h: TINYFORMAT_ERROR("tinyformat: %n conversion spec not supported");
src/tinyformat.h: TINYFORMAT_ERROR("tinyformat: Conversion spec incorrectly "
src/tinyformat.h: TINYFORMAT_ERROR("tinyformat: Not enough format arguments");
src/tinyformat.h: TINYFORMAT_ERROR("tinyformat: Too many conversion specifiers in format string");