diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-12-18 14:51:49 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-12-18 14:51:49 +0000 |
| commit | 95dc81ecbc031b6ffaee2053884115de4ee4b393 (patch) | |
| tree | b6f7fd430fe5de560bc6505eafc9c4e3729e7bed /src/exceptions.h | |
| parent | c41e0eb748cd39ce6ebe0c7c354e99ccf87a951b (diff) | |
| parent | 485794f8322b090a22da841961025b19642e42a2 (diff) | |
Merge branch '1.0' of git.carlh.net:git/libsub into 1.0
Diffstat (limited to 'src/exceptions.h')
| -rw-r--r-- | src/exceptions.h | 47 |
1 files changed, 18 insertions, 29 deletions
diff --git a/src/exceptions.h b/src/exceptions.h index 62be0d5..c6f7f1a 100644 --- a/src/exceptions.h +++ b/src/exceptions.h @@ -25,80 +25,69 @@ namespace sub { -class MessageError : public std::exception -{ -public: - MessageError (std::string const & message) - : _message (message) {} - ~MessageError () throw () {} - - /** @return error message */ - char const * what () const throw () { - return _message.c_str (); - } - -private: - /** error message */ - std::string _message; -}; - /** @class XMLError * @brief An error raised when reading an XML file. */ -class XMLError : public MessageError +class XMLError : public std::runtime_error { public: XMLError (std::string const & message) - : MessageError (message) + : std::runtime_error (message) {} }; /** @class STLError * @brief An error raised when reading a binary STL file. */ -class STLError : public MessageError +class STLError : public std::runtime_error { public: STLError (std::string const & message) - : MessageError (message) + : std::runtime_error (message) {} }; /** @class SubripError * @brief An error raised when reading a Subrip file. */ -class SubripError : public MessageError +class SubripError : public std::runtime_error { public: SubripError (std::string saw, std::string expecting) - : MessageError ("Error in SubRip file: saw " + saw + " while expecting " + expecting) + : std::runtime_error ("Error in SubRip file: saw " + saw + " while expecting " + expecting) {} }; -class MXFError : public MessageError +class MXFError : public std::runtime_error { public: MXFError (std::string const & message) - : MessageError (message) + : std::runtime_error (message) {} }; -class UnknownFrameRateError : public MessageError +class UnknownFrameRateError : public std::runtime_error { public: UnknownFrameRateError () - : MessageError ("unknown frame rate") + : std::runtime_error ("unknown frame rate") {} }; -class DCPError : public MessageError +class DCPError : public std::runtime_error { public: DCPError (std::string const & message) - : MessageError (message) + : std::runtime_error (message) {} }; +class ProgrammingError : public std::runtime_error +{ +public: + ProgrammingError (std::string file, int line); +}; + } #endif |
