Use error handler to report errors
diff --git a/include/fmt/printf.h b/include/fmt/printf.h
index 263fa5a..850ded7 100644
--- a/include/fmt/printf.h
+++ b/include/fmt/printf.h
@@ -367,18 +367,9 @@
typename printf_context<Char, AF>::format_arg printf_context<Char, AF>::get_arg(
iterator it, unsigned arg_index) {
(void)it;
- const char *error = 0;
- format_arg arg;
- if (arg_index == std::numeric_limits<unsigned>::max()) {
- arg_index = this->next_arg_index();
- if (!error)
- arg = this->do_get_arg(arg_index, error);
- } else {
- arg = Base::get_arg(arg_index - 1, error);
- }
- if (error)
- FMT_THROW(format_error(!*it ? "invalid format string" : error));
- return arg;
+ if (arg_index == std::numeric_limits<unsigned>::max())
+ return this->do_get_arg(this->next_arg_index());
+ return Base::get_arg(arg_index - 1);
}
template <typename Char, typename AF>