Skip to content
Snippets Groups Projects

F better errors

Merged Joscha Schmiedt requested to merge f-better-errors into dev
1 file
+ 18
11
Compare changes
  • Side-by-side
  • Inline
+ 18
11
@@ -43,20 +43,27 @@ const auto logger_name = "liblinkahead";
@@ -43,20 +43,27 @@ const auto logger_name = "liblinkahead";
auto main() -> int {
auto main() -> int {
std::cout << "LinkAhead C++ client (liblinkahead " << linkahead::LIBLINKAHEAD_VERSION_MINOR << "."
std::cout << "LinkAhead C++ client (liblinkahead " << linkahead::LIBLINKAHEAD_VERSION_MAJOR << "."
<< linkahead::LIBLINKAHEAD_VERSION_MINOR << "." << linkahead::LIBLINKAHEAD_VERSION_PATCH
<< linkahead::LIBLINKAHEAD_VERSION_MINOR << "." << linkahead::LIBLINKAHEAD_VERSION_PATCH
<< ")\n"
<< ")\n";
<< std::endl;
try {
try {
const auto &connection = linkahead::connection::ConnectionManager::GetDefaultConnection();
const auto &connection = linkahead::connection::ConnectionManager::GetDefaultConnection();
connection->RetrieveVersionInfoNoExceptions();
auto status = connection->RetrieveVersionInfoNoExceptions();
 
if (status.GetCode() == linkahead::CONNECTION_ERROR) {
 
const auto connection_config =
 
linkahead::configuration::ConfigurationManager::GetDefaultConnectionConfiguration();
 
std::cout << "ConnectionError: Cannot connect to " << connection_config->GetHost() << ":"
 
<< connection_config->GetPort() << '\n';
 
 
return 1;
 
}
// get version info of the server
// get version info of the server
const auto &v_info = connection->GetVersionInfo();
const auto &v_info = connection->GetVersionInfo();
std::cout << "Server Version: " << v_info->GetMajor() << "." << v_info->GetMinor() << "."
std::cout << "Server Version: " << v_info->GetMajor() << "." << v_info->GetMinor() << "."
<< v_info->GetPatch() << "-" << v_info->GetPreRelease() << "-" << v_info->GetBuild()
<< v_info->GetPatch() << "-" << v_info->GetPreRelease() << "-" << v_info->GetBuild()
<< std::endl;
<< '\n';
// retrieve an entity
// retrieve an entity
auto transaction(connection->CreateTransaction());
auto transaction(connection->CreateTransaction());
@@ -67,12 +74,12 @@ auto main() -> int {
@@ -67,12 +74,12 @@ auto main() -> int {
<< "status: " << t_stat.GetCode() << " // " << t_stat.GetDescription();
<< "status: " << t_stat.GetCode() << " // " << t_stat.GetDescription();
const auto &result_set = transaction->GetResultSet();
const auto &result_set = transaction->GetResultSet();
for (const auto &entity : result_set) {
for (const auto &entity : result_set) {
std::cout << entity.ToString() << std::endl;
std::cout << entity.ToString() << '\n';
}
}
// execute a query
// execute a query
std::string query("FIND Property \"Prop *\"");
std::string query("FIND Property \"Prop *\"");
std::cout << "Trying to execute a query:\n" << query << std::endl;
std::cout << "Trying to execute a query:\n" << query << '\n';
auto q_transaction(connection->CreateTransaction());
auto q_transaction(connection->CreateTransaction());
q_transaction->Query(query);
q_transaction->Query(query);
q_transaction->ExecuteAsynchronously();
q_transaction->ExecuteAsynchronously();
@@ -81,18 +88,18 @@ auto main() -> int {
@@ -81,18 +88,18 @@ auto main() -> int {
<< "status: " << t_stat.GetCode() << " // " << t_stat.GetDescription();
<< "status: " << t_stat.GetCode() << " // " << t_stat.GetDescription();
const auto &result_set_2 = q_transaction->GetResultSet();
const auto &result_set_2 = q_transaction->GetResultSet();
for (const auto &entity : result_set_2) {
for (const auto &entity : result_set_2) {
std::cout << entity.ToString() << std::endl;
std::cout << entity.ToString() << '\n';
}
}
return 0;
return 0;
} catch (const linkahead::exceptions::ConfigurationError &exc) {
} catch (const linkahead::exceptions::ConfigurationError &exc) {
std::cout << "ConfigurationError: " << exc.what() << std::endl;
std::cout << "ConfigurationError: " << exc.what() << '\n';
return exc.GetCode();
return exc.GetCode();
} catch (const std::exception &exc) {
} catch (const std::exception &exc) {
std::cout << "Exception: " << exc.what() << std::endl;
std::cout << "Exception: " << exc.what() << '\n';
return 1;
return 1;
} catch (...) {
} catch (...) {
std::cout << "Some other exception." << std::endl;
std::cout << "Some other exception." << '\n';
return 2;
return 2;
}
}
}
}
Loading