Browse Source

dbwrapper: Remove throw keywords in function signatures

Using throw() specifications in function signatures is not only
not required in C++, it is considered deprecated for
[various reasons](https://stackoverflow.com/questions/1055387/throw-keyword-in-functions-signature).
It is not implemented by any of the common C++ compilers. The usage is
also inconsistent with the rest of the source code.
0.13
Wladimir J. van der Laan 9 years ago
parent
commit
74f7b1273c
  1. 4
      src/dbwrapper.cpp
  2. 14
      src/dbwrapper.h

4
src/dbwrapper.cpp

@ -15,7 +15,7 @@
#include <memenv.h> #include <memenv.h>
#include <stdint.h> #include <stdint.h>
void HandleError(const leveldb::Status& status) throw(dbwrapper_error) void HandleError(const leveldb::Status& status)
{ {
if (status.ok()) if (status.ok())
return; return;
@ -102,7 +102,7 @@ CDBWrapper::~CDBWrapper()
options.env = NULL; options.env = NULL;
} }
bool CDBWrapper::WriteBatch(CDBBatch& batch, bool fSync) throw(dbwrapper_error) bool CDBWrapper::WriteBatch(CDBBatch& batch, bool fSync)
{ {
leveldb::Status status = pdb->Write(fSync ? syncoptions : writeoptions, &batch.batch); leveldb::Status status = pdb->Write(fSync ? syncoptions : writeoptions, &batch.batch);
HandleError(status); HandleError(status);

14
src/dbwrapper.h

@ -23,7 +23,7 @@ public:
dbwrapper_error(const std::string& msg) : std::runtime_error(msg) {} dbwrapper_error(const std::string& msg) : std::runtime_error(msg) {}
}; };
void HandleError(const leveldb::Status& status) throw(dbwrapper_error); void HandleError(const leveldb::Status& status);
/** Batch of changes queued to be written to a CDBWrapper */ /** Batch of changes queued to be written to a CDBWrapper */
class CDBBatch class CDBBatch
@ -180,7 +180,7 @@ public:
~CDBWrapper(); ~CDBWrapper();
template <typename K, typename V> template <typename K, typename V>
bool Read(const K& key, V& value) const throw(dbwrapper_error) bool Read(const K& key, V& value) const
{ {
CDataStream ssKey(SER_DISK, CLIENT_VERSION); CDataStream ssKey(SER_DISK, CLIENT_VERSION);
ssKey.reserve(ssKey.GetSerializeSize(key)); ssKey.reserve(ssKey.GetSerializeSize(key));
@ -206,7 +206,7 @@ public:
} }
template <typename K, typename V> template <typename K, typename V>
bool Write(const K& key, const V& value, bool fSync = false) throw(dbwrapper_error) bool Write(const K& key, const V& value, bool fSync = false)
{ {
CDBBatch batch(&obfuscate_key); CDBBatch batch(&obfuscate_key);
batch.Write(key, value); batch.Write(key, value);
@ -214,7 +214,7 @@ public:
} }
template <typename K> template <typename K>
bool Exists(const K& key) const throw(dbwrapper_error) bool Exists(const K& key) const
{ {
CDataStream ssKey(SER_DISK, CLIENT_VERSION); CDataStream ssKey(SER_DISK, CLIENT_VERSION);
ssKey.reserve(ssKey.GetSerializeSize(key)); ssKey.reserve(ssKey.GetSerializeSize(key));
@ -233,14 +233,14 @@ public:
} }
template <typename K> template <typename K>
bool Erase(const K& key, bool fSync = false) throw(dbwrapper_error) bool Erase(const K& key, bool fSync = false)
{ {
CDBBatch batch(&obfuscate_key); CDBBatch batch(&obfuscate_key);
batch.Erase(key); batch.Erase(key);
return WriteBatch(batch, fSync); return WriteBatch(batch, fSync);
} }
bool WriteBatch(CDBBatch& batch, bool fSync = false) throw(dbwrapper_error); bool WriteBatch(CDBBatch& batch, bool fSync = false);
// not available for LevelDB; provide for compatibility with BDB // not available for LevelDB; provide for compatibility with BDB
bool Flush() bool Flush()
@ -248,7 +248,7 @@ public:
return true; return true;
} }
bool Sync() throw(dbwrapper_error) bool Sync()
{ {
CDBBatch batch(&obfuscate_key); CDBBatch batch(&obfuscate_key);
return WriteBatch(batch, true); return WriteBatch(batch, true);

Loading…
Cancel
Save