aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/base/song.cpp8
-rw-r--r--src/base/song.hpp17
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