diff --git a/include/argparse/argparse.hpp b/include/argparse/argparse.hpp index cdbcd19..c7719fe 100644 --- a/include/argparse/argparse.hpp +++ b/include/argparse/argparse.hpp @@ -759,7 +759,7 @@ private: if (mDefaultValue.has_value()) { return std::any_cast(mDefaultValue); } - throw std::logic_error("No value provided"); + throw std::logic_error("No value provided for '" + mNames.back() + "'."); } /* diff --git a/test/test_get.cpp b/test/test_get.cpp index d54e0f3..35d9464 100644 --- a/test/test_get.cpp +++ b/test/test_get.cpp @@ -15,7 +15,7 @@ TEST_CASE("Missing argument" * test_suite("ArgumentParser::get")) { program.add_argument("-s", "--stuff"); REQUIRE_NOTHROW(program.parse_args({ "test" })); REQUIRE_THROWS_WITH_AS(program.get("--stuff"), - "No value provided", + "No value provided for '--stuff'.", std::logic_error); } @@ -24,6 +24,6 @@ TEST_CASE("Implicit argument" * test_suite("ArgumentParser::get")) { program.add_argument("-s", "--stuff").nargs(1); REQUIRE_NOTHROW(program.parse_args({ "test" })); REQUIRE_THROWS_WITH_AS(program.get("--stuff"), - "No value provided", + "No value provided for '--stuff'.", std::logic_error); }