*/
class CAudioError : public std::exception {
public:
- /* Enums Definition */
enum class EError : unsigned int {
ERROR_NONE,
ERROR_MAX
};
- /* Constants Definition */
static constexpr auto MSG_LENGTH = 512;
-
- /* Constructor & Destructor */
CAudioError(EError err, const char* msg, const char* file, const char* func, int line);
- ~CAudioError() = default;
-
- const char *what() const noexcept override {
- return __mFullMsg.c_str();
- }
+ const char *what() const noexcept override;
const char* getErrorMsg() const noexcept;
- const EError getError() const noexcept;
+ EError getError() const noexcept;
private:
static const char* __convertErrorToString(EError err) noexcept;
EError __mError;
- std::string __mMsg;
- std::string __mFullMsg;
-
+ std::runtime_error __mFullMsg;
};
*/
CAudioError::CAudioError(EError err, const char* msg, const char* file, const char* func, int line) :
__mError(err),
- __mMsg(msg) {
+ __mFullMsg(msg) {
char __mErrorMsg[MSG_LENGTH] = { 0, };
+
snprintf(__mErrorMsg, MSG_LENGTH, "[%s|%s|%s(%d)|"
COLOR_CYAN "%s" COLOR_END "]",
__convertErrorToString(__mError), file, func, line, msg);
- __mFullMsg = __mErrorMsg;
+ __mFullMsg = std::runtime_error{__mErrorMsg};
+}
+
+const char *CAudioError::what() const noexcept {
+ return __mFullMsg.what();
}
const char* CAudioError::getErrorMsg() const noexcept {
return what();
}
-const CAudioError::EError CAudioError::getError() const noexcept {
+CAudioError::EError CAudioError::getError() const noexcept {
return __mError;
}
case EError::ERROR_POLICY_DUPLICATED: return COLOR_RED "ERROR_POLICY_DUPLICATED" COLOR_END;
//LCOV_EXCL_STOP
}
-}
+}
\ No newline at end of file