summaryrefslogtreecommitdiff
path: root/src/exceptions.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-10-06 00:58:02 +0100
committerCarl Hetherington <cth@carlh.net>2014-10-06 00:58:02 +0100
commitd68bb2ae0e6a3a19c627f9005eed7aca206349cd (patch)
tree4217b30f04131f6a4b14dbe6dbdc1edd9758c264 /src/exceptions.h
parent385a64deea15f8cf360d342fbc62c17ce86c2859 (diff)
Basic and scruffy Subrip read support.
Diffstat (limited to 'src/exceptions.h')
-rw-r--r--src/exceptions.h46
1 files changed, 29 insertions, 17 deletions
diff --git a/src/exceptions.h b/src/exceptions.h
index f2f1246..cb49d86 100644
--- a/src/exceptions.h
+++ b/src/exceptions.h
@@ -22,14 +22,12 @@
namespace sub {
-/** @class XMLError
- * @brief An error raised when reading an XML file.
- */
-class XMLError : public std::exception
+class MessageError : public std::exception
{
public:
- XMLError (std::string const & message) : _message (message) {}
- ~XMLError () throw () {}
+ MessageError (std::string const & message)
+ : _message (message) {}
+ ~MessageError () throw () {}
/** @return error message */
char const * what () const throw () {
@@ -41,23 +39,37 @@ private:
std::string _message;
};
+/** @class XMLError
+ * @brief An error raised when reading an XML file.
+ */
+class XMLError : public MessageError
+{
+public:
+ XMLError (std::string const & message)
+ : MessageError (message)
+ {}
+};
+
/** @class STLError
* @brief An error raised when reading a binary STL file.
*/
-class STLError : public std::exception
+class STLError : public MessageError
{
public:
- STLError (std::string const & message) : _message (message) {}
- ~STLError () throw () {}
-
- /** @return error message */
- char const * what () const throw () {
- return _message.c_str ();
- }
+ STLError (std::string const & message)
+ : MessageError (message)
+ {}
+};
-private:
- /** error message */
- std::string _message;
+/** @class SubripError
+ * @brief An error raised when reading a Subrip file.
+ */
+class SubripError : public MessageError
+{
+public:
+ SubripError (std::string saw, std::string expecting)
+ : MessageError ("Error in SubRip file: saw " + saw + " while expecting " + expecting)
+ {}
};
}