diff --git a/src/tools/contract.cpp b/src/tools/contract.cpp index bfd3d2df9..e7caee21e 100644 --- a/src/tools/contract.cpp +++ b/src/tools/contract.cpp @@ -85,7 +85,7 @@ return_code parseArguments(int argc, char *argv[], contractor::ContractorConfig .run(), option_variables); } - catch (boost::program_options::error &e) + catch (const boost::program_options::error &e) { util::SimpleLogger().Write(logWARNING) << "[error] " << e.what(); return return_code::fail; diff --git a/src/tools/extract.cpp b/src/tools/extract.cpp index ed22a95d3..6d0104ae2 100644 --- a/src/tools/extract.cpp +++ b/src/tools/extract.cpp @@ -82,7 +82,7 @@ return_code parseArguments(int argc, char *argv[], extractor::ExtractorConfig &e .run(), option_variables); } - catch (boost::program_options::error &e) + catch (const boost::program_options::error &e) { util::SimpleLogger().Write(logWARNING) << "[error] " << e.what(); return return_code::fail; diff --git a/src/tools/routed.cpp b/src/tools/routed.cpp index a18fe2e23..fc439ee7c 100644 --- a/src/tools/routed.cpp +++ b/src/tools/routed.cpp @@ -130,7 +130,7 @@ inline unsigned generateServerProgramOptions(const int argc, .run(), option_variables); } - catch (boost::program_options::error &e) + catch (const boost::program_options::error &e) { util::SimpleLogger().Write(logWARNING) << "[error] " << e.what(); return INIT_FAILED; diff --git a/src/tools/store.cpp b/src/tools/store.cpp index 74c8783f5..1d4bbb1f4 100644 --- a/src/tools/store.cpp +++ b/src/tools/store.cpp @@ -50,11 +50,20 @@ bool generateDataStoreOptions(const int argc, // parse command line options boost::program_options::variables_map option_variables; - boost::program_options::store(boost::program_options::command_line_parser(argc, argv) - .options(cmdline_options) - .positional(positional_options) - .run(), - option_variables); + + try + { + boost::program_options::store(boost::program_options::command_line_parser(argc, argv) + .options(cmdline_options) + .positional(positional_options) + .run(), + option_variables); + } + catch (const boost::program_options::error &e) + { + util::SimpleLogger().Write(logWARNING) << "[error] " << e.what(); + return false; + } if (option_variables.count("version")) {