diff options
Diffstat (limited to 'src/base')
-rw-r--r-- | src/base/song.cpp | 8 | ||||
-rw-r--r-- | src/base/song.hpp | 17 |
2 files changed, 18 insertions, 7 deletions
diff --git a/src/base/song.cpp b/src/base/song.cpp index 4185d51b..d4429f04 100644 --- a/src/base/song.cpp +++ b/src/base/song.cpp @@ -108,7 +108,7 @@ namespace usdx } else if (required) { LOG4CXX_ERROR(log, "Incomplete Song! Missing '" << tag << "' Tag in: '" << get_filename() << "'"); - throw MissingSongTagException("Incomplete Song! Missing Tag."); + throw MissingTagException(tag, "Incomplete Song! Missing Tag."); } return result; @@ -125,7 +125,7 @@ namespace usdx } else if (required) { LOG4CXX_ERROR(log, "Incomplete Song! Missing '" << tag << "' Tag in: '" << get_filename() << "'"); - throw MissingSongTagException("Incomplete Song! Missing Tag."); + throw MissingTagException(tag, "Incomplete Song! Missing Tag."); } return result; @@ -143,7 +143,7 @@ namespace usdx } else if (required) { LOG4CXX_ERROR(log, "Incomplete Song! Missing '" << tag << "' Tag in: '" << get_filename() << "'"); - throw MissingSongTagException("Incomplete Song! Missing Tag."); + throw MissingTagException(tag, "Incomplete Song! Missing Tag."); } return result; @@ -164,7 +164,7 @@ namespace usdx } else if (required) { LOG4CXX_ERROR(log, "Incomplete Song! Missing '" << tag << "' Tag in: '" << get_filename() << "'"); - throw MissingSongTagException("Incomplete Song! Missing Tag."); + throw MissingTagException(tag, "Incomplete Song! Missing Tag."); } return result; diff --git a/src/base/song.hpp b/src/base/song.hpp index 6009cfa9..d831a91e 100644 --- a/src/base/song.hpp +++ b/src/base/song.hpp @@ -37,11 +37,22 @@ namespace usdx { - class MissingSongTagException : public BaseException + class MissingTagException : public BaseException { + private: + /** + * TODO: Maybe refactor this to separate sub-classes. + */ + const std::string tag; + public: - MissingSongTagException(std::string message) : BaseException(message) {}; - ~MissingSongTagException () throw () {}; + MissingTagException(const std::string tag, + const std::string message) : + BaseException(message), tag(tag) {}; + + ~MissingTagException () throw () {}; + + virtual const std::string& get_tag() const { return tag; }; }; class Song |