From b5efceaea2abb9be09ca387c0672f8355cda5ace Mon Sep 17 00:00:00 2001 From: Frank Celler Date: Fri, 2 Mar 2012 12:09:24 +0100 Subject: [PATCH] better error handling --- V8Client/shell.cpp | 68 ++----------------------------------------- js/client/client.js | 23 +++++++++------ js/client/js-client.h | 23 +++++++++------ 3 files changed, 30 insertions(+), 84 deletions(-) diff --git a/V8Client/shell.cpp b/V8Client/shell.cpp index 4abf6a97bc..486ac6a891 100644 --- a/V8Client/shell.cpp +++ b/V8Client/shell.cpp @@ -536,66 +536,6 @@ static void RunShell (v8::Handle context) { printf("\n"); } -static void processComandLineArguments (int argc, char* argv[]) { - for (int i = 1; i < argc; ++i) { - const char* str = argv[i]; - - if (strcmp(str, "--shell") == 0) { - RunShellFlag = true; - } - else if (strncmp(str, "--", 2) == 0) { - string param(str); - if (param.find("--server=") != string::npos) { - string definition = param.substr(9); - - if (!splitServerAdress(definition, DEFAULT_SERVER_NAME, DEFAULT_SERVER_PORT)) { - printf("Could not spilt %s.\n", definition.c_str()); - } - - if (argc == 2) { - RunShellFlag = true; - } - } - else { - printf("Warning: unknown flag %s.\n", str); - } - } - } -} - -//////////////////////////////////////////////////////////////////////////////// -/// @brief proceses the command line arguments -//////////////////////////////////////////////////////////////////////////////// - -static int RunMain (v8::Handle context, int argc, char* argv[]) { - HandleScope scope; - - for (int i = 1; i < argc; ++i) { - const char* str = argv[i]; - - if (strncmp(str, "--", 2) != 0) { - v8::Handle filename = v8::String::New(str); - char* content = TRI_SlurpFile(str); - - if (content == 0) { - printf("Error reading '%s'\n", str); - continue; - } - - v8::Handle source = v8::String::New(content); - TRI_FreeString(content); - - bool ok = TRI_ExecuteStringVocBase(context, source, filename, false, true); - - if (!ok) { - return 1; - } - } - } - - return 0; -} - //////////////////////////////////////////////////////////////////////////////// /// @brief adding colors for output //////////////////////////////////////////////////////////////////////////////// @@ -746,7 +686,7 @@ int main (int argc, char* argv[]) { StartupLoader.defineScript("client/client.js", JS_client_client); } else { - LOGGER_INFO << "using JavaScript startup files at '" << StartupPath << "'"; + LOGGER_DEBUG << "using JavaScript startup files at '" << StartupPath << "'"; StartupLoader.setDirectory(StartupPath); } @@ -769,11 +709,7 @@ int main (int argc, char* argv[]) { } } - RunMain(context, argc, argv); - - if (RunShellFlag) { - RunShell(context); - } + RunShell(context); } else { diff --git a/js/client/client.js b/js/client/client.js index 319a191146..e656e601c9 100644 --- a/js/client/client.js +++ b/js/client/client.js @@ -512,15 +512,20 @@ AvocadoDatabase.prototype.getQueryTemplate = function (id) { } -// -// default database -// -db = new AvocadoDatabase(avocado); +try { -// -// load collection data -// + // + // default database + // + db = new AvocadoDatabase(avocado); -db._collections(); + // + // load collection data + // + db._collections(); -help(); \ No newline at end of file + help(); +} +catch (err) { + print(COLOR_RED + "connection failure: " + err + COLOR_BLACK); +} diff --git a/js/client/js-client.h b/js/client/js-client.h index d32c4d2d56..68992e1648 100644 --- a/js/client/js-client.h +++ b/js/client/js-client.h @@ -513,16 +513,21 @@ static string JS_client_client = "}\n" "\n" "\n" - "//\n" - "// default database\n" - "// \n" - "db = new AvocadoDatabase(avocado);\n" + "try {\n" "\n" - "//\n" - "// load collection data\n" - "// \n" + " //\n" + " // default database\n" + " // \n" + " db = new AvocadoDatabase(avocado);\n" "\n" - "db._collections();\n" + " //\n" + " // load collection data\n" + " // \n" + " db._collections();\n" "\n" - "help();\n" + " help();\n" + "}\n" + "catch (err) {\n" + " print(COLOR_RED + \"connection failure: \" + err + COLOR_BLACK);\n" + "}\n" ;