diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2019-11-25 08:39:09 +0000 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2019-11-25 08:39:09 +0000 |
commit | ac8b14eff45bdda5e9d08b3cbb39091f56a680d2 (patch) | |
tree | e7576b5423f45c12f052510cb923cfe8da7cafc5 /configutil/src | |
parent | 46f36c3161124d2d76deb5cdd5a8ea1ef7755bb5 (diff) |
Catch exceptions setting up config source, and exit
Diffstat (limited to 'configutil/src')
-rw-r--r-- | configutil/src/apps/modelinspect/main.cpp | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/configutil/src/apps/modelinspect/main.cpp b/configutil/src/apps/modelinspect/main.cpp index e25833c934e..ca03970ea07 100644 --- a/configutil/src/apps/modelinspect/main.cpp +++ b/configutil/src/apps/modelinspect/main.cpp @@ -4,7 +4,6 @@ #include <iostream> #include <lib/modelinspect.h> #include <vespa/vespalib/text/stringtokenizer.h> -#include <vespa/vespalib/stllike/asciistream.h> #include <vespa/fastos/app.h> #include <vespa/log/log.h> @@ -17,6 +16,7 @@ class Application : public FastOS_Application vespalib::string _specString; int parseOpts(); vespalib::string getSources(); + config::ConfigUri getConfigUri(); public: void usage(); int Main() override; @@ -66,7 +66,7 @@ Application::parseOpts() } vespalib::string -Application::getSources(void) +Application::getSources() { vespalib::string specs; for (std::string v : vespa::Defaults::vespaConfigSourcesRpcAddrs()) { @@ -76,8 +76,20 @@ Application::getSources(void) return specs; } +config::ConfigUri +Application::getConfigUri() +{ + try { + return config::ConfigUri::createFromSpec(_cfgId, config::ServerSpec(_specString)); + } + catch (std::exception &e) { + std::cerr << "FATAL ERROR: failed to set up model configuration source.\n"; + exit(1); + } +} + void -Application::usage(void) +Application::usage() { std::cerr << "vespa-model-inspect version 2.0" << std::endl << @@ -104,7 +116,7 @@ Application::usage(void) } int -Application::Main(void) +Application::Main() { int cnt = parseOpts(); if (_argc == cnt) { @@ -112,8 +124,7 @@ Application::Main(void) return 0; } - config::ServerSpec spec(_specString); - config::ConfigUri uri = config::ConfigUri::createFromSpec(_cfgId, spec); + config::ConfigUri uri = getConfigUri(); ModelInspect model(_flags, uri, std::cout); return model.action(_argc - cnt, &_argv[cnt]); } |