Commit c7b41e5d authored by Sergey Petrunya's avatar Sergey Petrunya

Cassandra SE

- Also provide handling for generic Thrift exceptions. These are not listed in the 'throws' clause
  of API definition but still can happen.
parent d6f2d692
...@@ -160,6 +160,8 @@ bool Cassandra_se_impl::connect(const char *host, const char *keyspace_arg) ...@@ -160,6 +160,8 @@ bool Cassandra_se_impl::connect(const char *host, const char *keyspace_arg)
print_error("%s [%s]", ire.what(), ire.why.c_str()); print_error("%s [%s]", ire.what(), ire.why.c_str());
}catch(NotFoundException nfe){ }catch(NotFoundException nfe){
print_error("%s", nfe.what()); print_error("%s", nfe.what());
}catch(TException e){
print_error("Thrift exception: %s", e.what());
}catch (...) { }catch (...) {
print_error("Unknown exception"); print_error("Unknown exception");
} }
...@@ -191,6 +193,8 @@ bool Cassandra_se_impl::setup_ddl_checks() ...@@ -191,6 +193,8 @@ bool Cassandra_se_impl::setup_ddl_checks()
print_error("%s [%s]", ire.what(), ire.why.c_str()); print_error("%s [%s]", ire.what(), ire.why.c_str());
} catch (NotFoundException nfe) { } catch (NotFoundException nfe) {
print_error("keyspace not found: %s", nfe.what()); print_error("keyspace not found: %s", nfe.what());
}catch(TException e){
print_error("Thrift exception: %s", e.what());
} catch (...) { } catch (...) {
print_error("Unknown exception"); print_error("Unknown exception");
} }
...@@ -318,6 +322,8 @@ bool Cassandra_se_impl::do_insert() ...@@ -318,6 +322,8 @@ bool Cassandra_se_impl::do_insert()
print_error("UnavailableException: %s", ue.what()); print_error("UnavailableException: %s", ue.what());
} catch (TimedOutException te) { } catch (TimedOutException te) {
print_error("TimedOutException: %s", te.what()); print_error("TimedOutException: %s", te.what());
}catch(TException e){
print_error("Thrift exception: %s", e.what());
} catch (...) { } catch (...) {
print_error("Unknown exception"); print_error("Unknown exception");
} }
...@@ -372,6 +378,8 @@ bool Cassandra_se_impl::get_slice(char *key, size_t key_len, bool *found) ...@@ -372,6 +378,8 @@ bool Cassandra_se_impl::get_slice(char *key, size_t key_len, bool *found)
} catch (TimedOutException te) { } catch (TimedOutException te) {
print_error("TimedOutException: %s", te.what()); print_error("TimedOutException: %s", te.what());
return true; return true;
}catch(TException e){
print_error("Thrift exception: %s", e.what());
} catch (...) { } catch (...) {
print_error("Unknown exception"); print_error("Unknown exception");
return true; return true;
...@@ -477,6 +485,8 @@ bool Cassandra_se_impl::get_range_slices(bool last_key_as_start_key) ...@@ -477,6 +485,8 @@ bool Cassandra_se_impl::get_range_slices(bool last_key_as_start_key)
print_error("UnavailableException: %s", ue.what()); print_error("UnavailableException: %s", ue.what());
} catch (TimedOutException te) { } catch (TimedOutException te) {
print_error("TimedOutException: %s", te.what()); print_error("TimedOutException: %s", te.what());
}catch(TException e){
print_error("Thrift exception: %s", e.what());
} catch (...) { } catch (...) {
print_error("Unknown exception"); print_error("Unknown exception");
} }
...@@ -561,6 +571,8 @@ bool Cassandra_se_impl::truncate() ...@@ -561,6 +571,8 @@ bool Cassandra_se_impl::truncate()
print_error("UnavailableException: %s", ue.what()); print_error("UnavailableException: %s", ue.what());
} catch (TimedOutException te) { } catch (TimedOutException te) {
print_error("TimedOutException: %s", te.what()); print_error("TimedOutException: %s", te.what());
}catch(TException e){
print_error("Thrift exception: %s", e.what());
} catch (...) { } catch (...) {
print_error("Unknown exception"); print_error("Unknown exception");
} }
...@@ -586,6 +598,8 @@ bool Cassandra_se_impl::remove_row() ...@@ -586,6 +598,8 @@ bool Cassandra_se_impl::remove_row()
print_error("UnavailableException: %s", ue.what()); print_error("UnavailableException: %s", ue.what());
} catch (TimedOutException te) { } catch (TimedOutException te) {
print_error("TimedOutException: %s", te.what()); print_error("TimedOutException: %s", te.what());
}catch(TException e){
print_error("Thrift exception: %s", e.what());
} catch (...) { } catch (...) {
print_error("Unknown exception"); print_error("Unknown exception");
} }
...@@ -642,6 +656,8 @@ bool Cassandra_se_impl::multiget_slice() ...@@ -642,6 +656,8 @@ bool Cassandra_se_impl::multiget_slice()
print_error("UnavailableException: %s", ue.what()); print_error("UnavailableException: %s", ue.what());
} catch (TimedOutException te) { } catch (TimedOutException te) {
print_error("TimedOutException: %s", te.what()); print_error("TimedOutException: %s", te.what());
}catch(TException e){
print_error("Thrift exception: %s", e.what());
} catch (...) { } catch (...) {
print_error("Unknown exception"); print_error("Unknown exception");
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment