X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FConsole%2FExecutor.cc;h=ce2376f5403c97f2e0859683aae830db76372ba4;hb=f13780e9e4da7df981d6f6542fbdc714beb34765;hp=49e7eb94034c61e31b2e7a37de4ab87585e6129d;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Utils/Console/Executor.cc b/senf/Utils/Console/Executor.cc index 49e7eb9..ce2376f 100644 --- a/senf/Utils/Console/Executor.cc +++ b/senf/Utils/Console/Executor.cc @@ -32,10 +32,8 @@ #include #include #include -#include "../../Utils/senfassert.hh" -#include "../../Utils/Range.hh" -#include "../../Utils/String.hh" -#include "../../Utils/range.hh" +#include +#include #include "Server.hh" //#include "Executor.mpp" @@ -172,7 +170,15 @@ prefix_ void senf::console::Executor::execute(std::ostream & output, prefix_ senf::console::GenericNode & senf::console::Executor::getNode(ParseCommandInfo const & command) { - return traverseNode(command.commandPath()); + try { + return traverseNode(command.commandPath()); + } + catch (InvalidPathException & ex) { + throw SyntaxErrorException("invalid path") << " '" << ex.path << "'"; + } + catch (InvalidDirectoryException & ex) { + throw SyntaxErrorException("invalid directory") << " '" << ex.path << "'"; + } } prefix_ void senf::console::Executor::exec(std::ostream & output,