diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-09-26 16:05:45 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-09-26 16:05:45 +0000 |
| commit | 54bb6300773c2639c4e38c719c3b82fa7cf182fe (patch) | |
| tree | a110ca6dcc9af865670973fe83ed115a9c25454b /src/option_processing.cc | |
| parent | 87a5bb50c2bb9d1232e9160def0f85d5f05e7813 (diff) | |
2008-09-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
When error occurs while aria2 is parsing an command-line option,
print
the usage of the option.
* src/Makefile.am
* src/NameMatchOptionHandler.h
* src/OptionHandlerException.h
* src/option_processing.cc
Diffstat (limited to 'src/option_processing.cc')
| -rw-r--r-- | src/option_processing.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/option_processing.cc b/src/option_processing.cc index 50c4bf5a..54beb9a2 100644 --- a/src/option_processing.cc +++ b/src/option_processing.cc @@ -45,6 +45,7 @@ #include "help_tags.h" #include "File.h" #include "StringFormat.h" +#include "OptionHandlerException.h" #include <cstdlib> #include <cstring> #include <fstream> @@ -518,6 +519,12 @@ Option* option_processing(int argc, char* const argv[]) } try { oparser.parse(op, cmdstream); + } catch(OptionHandlerException& e) { + std::cerr << e.stackTrace() << "\n" + << "Usage:\n" + << oparser.findByName(e.getOptionName())->getDescription() + << std::endl; + exit(EXIT_FAILURE); } catch(Exception& e) { std::cerr << e.stackTrace() << std::endl; showUsage(TAG_HELP, oparser); |
