X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fexcept.h;h=34d9e77810d838b694e0023a364271ecd1bb5afc;hb=708ef339d3e4d3661c8b3a75e3b01bafbed0f568;hp=e68ec481f4aa869ada66a660c59e06e195b6b34b;hpb=ed78b585cfc4ecb44972e346857e887b183fd7a7;p=libs%2Fdatafile.git diff --git a/source/except.h b/source/except.h index e68ec48..34d9e77 100644 --- a/source/except.h +++ b/source/except.h @@ -2,6 +2,8 @@ #define MSP_DATAFILE_EXCEPT_H_ #include +#include +#include namespace Msp { namespace DataFile { @@ -15,6 +17,7 @@ private: public: data_error(const std::string &, unsigned, const std::string &); data_error(const std::string &, unsigned, const std::exception &); + data_error(const std::string &, unsigned, const data_error &); virtual ~data_error() throw() { } const std::string &get_source() const { return source; } @@ -56,6 +59,29 @@ public: virtual ~nesting_error() throw() { } }; + +class unknown_keyword: public std::runtime_error +{ +public: + unknown_keyword(const std::string &); + virtual ~unknown_keyword() throw() { } +}; + + +class invalid_signature: public std::runtime_error +{ +public: + invalid_signature(const std::string &, const std::string &); + virtual ~invalid_signature() throw() { } +}; + + +class no_collection: public std::runtime_error +{ +public: + no_collection(const std::type_info &); +}; + } // namespace DataFile } // namespace Msp