aboutsummaryrefslogtreecommitdiffstats
path: root/configutil
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2019-11-25 08:39:09 +0000
committerJon Marius Venstad <venstad@gmail.com>2019-11-25 08:39:09 +0000
commitac8b14eff45bdda5e9d08b3cbb39091f56a680d2 (patch)
treee7576b5423f45c12f052510cb923cfe8da7cafc5 /configutil
parent46f36c3161124d2d76deb5cdd5a8ea1ef7755bb5 (diff)
Catch exceptions setting up config source, and exit
Diffstat (limited to 'configutil')
-rw-r--r--configutil/src/apps/modelinspect/main.cpp23
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]);
}