Commit 1286a1226e2060ef4badab7374df1f564f106a28

Authored by Henry Fredrick Schreiner
Committed by Henry Schreiner
1 parent a958ffec

Nicer error messages

include/CLI/App.hpp
... ... @@ -1357,7 +1357,7 @@ class App {
1357 1357 std::string name;
1358 1358 std::string rest;
1359 1359 if(!detail::split_short(current, name, rest))
1360   - throw HorribleError("Short");
  1360 + throw HorribleError("Short parsed but missing! You should not see this");
1361 1361  
1362 1362 auto op_ptr = std::find_if(
1363 1363 std::begin(options_), std::end(options_), [name](const Option_p &opt) { return opt->check_sname(name); });
... ... @@ -1437,7 +1437,7 @@ class App {
1437 1437 std::string name;
1438 1438 std::string value;
1439 1439 if(!detail::split_long(current, name, value))
1440   - throw HorribleError("Long:" + args.back());
  1440 + throw HorribleError("Long parsed but missing (you should not see this):" + args.back());
1441 1441  
1442 1442 auto op_ptr = std::find_if(
1443 1443 std::begin(options_), std::end(options_), [name](const Option_p &v) { return v->check_lname(name); });
... ...
include/CLI/Ini.hpp
... ... @@ -106,7 +106,7 @@ inline std::vector<ini_ret_t> parse_ini(const std::string &name) {
106 106  
107 107 std::ifstream input{name};
108 108 if(!input.good())
109   - throw FileError(name);
  109 + throw FileError(name + " was not readable (missing?)");
110 110  
111 111 return parse_ini(input);
112 112 }
... ...
include/CLI/Option.hpp
... ... @@ -428,13 +428,13 @@ class Option : public OptionBase<Option> {
428 428 }
429 429  
430 430 if(local_result)
431   - throw ConversionError(get_name() + "=" + detail::join(results_));
  431 + throw ConversionError("Could not convert: " + get_name() + "=" + detail::join(results_));
432 432  
433 433 if(!validators_.empty()) {
434 434 for(const std::string &result : results_)
435 435 for(const std::function<bool(std::string)> &vali : validators_)
436 436 if(!vali(result))
437   - throw ValidationError(get_name() + "=" + result);
  437 + throw ValidationError("Failed validation: " + get_name() + "=" + result);
438 438 }
439 439 }
440 440  
... ...