]> git.tdb.fi Git - libs/core.git/commitdiff
Store the failed key in KeyError
authorMikko Rasa <tdb@tdb.fi>
Wed, 5 Dec 2007 15:21:01 +0000 (15:21 +0000)
committerMikko Rasa <tdb@tdb.fi>
Wed, 5 Dec 2007 15:21:01 +0000 (15:21 +0000)
source/core/except.cpp
source/core/except.h

index 245bc0502c0481b36a218531bb14bff93c2fbc13..4b6e4657a4b89833a373f506ec5782e1fcd24728 100644 (file)
@@ -24,6 +24,11 @@ SystemError::SystemError(const string &w_, int e):
        err(e)
 { }
 
+KeyError::KeyError(const string &w_, const string &k):
+       Exception(w_+" ("+k+")"),
+       key(k)
+{ }
+
 string SystemError::build_what(const string &w, int e)
 {
        ostringstream buf;
index d030c41c12937e1a3846ce819c445cd2b953e308..a18e028730aedddac1d044de1b98b4fa36edea21 100644 (file)
@@ -46,6 +46,10 @@ class KeyError: public Exception
 {
 public:
        KeyError(const std::string &w_): Exception(w_) { }
+       KeyError(const std::string &w_, const std::string &k) { }
+       const std::string &get_key() const { return key; }
+private:
+       std::string key;
 };
 
 /**