- CAudioError(EError err, const char* fileName, const char* parentFunc, int lineNum);
- CAudioError(EError err, const char* msg, const char* fileName, const char* parentFunc, int lineNum);
- CAudioError(const CAudioError& err);
- virtual ~CAudioError() = default;
-
- /* Static Methods */
- static EError getLastError();
- static const char* getLastErrorMsg();
-
- /* Setter & Getter */
- EError getError();
- const char* getErrorMsg();
-
- /* Overrided Operation */
- CAudioError& operator = (const EError err);
- CAudioError& operator = (const CAudioError& err);
- bool operator != (const EError err);
- bool operator == (const EError err);
- //friend bool operator == (const CAudioError& src, const EError& err);
-
- private:
- const char* __convertErrorToString(EError err);
-
- /* Members */
- static EError __mLastError;
- static char __mLastErrorMsg[MSG_LENGTH];
- EError __mError;
- char __mErrorMsg[MSG_LENGTH]{};
+ 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* getErrorMsg() const noexcept;
+ const EError getError() const noexcept;
+
+private:
+ static const char* __convertErrorToString(EError err) noexcept;
+
+ EError __mError;
+ std::string __mMsg;
+ std::string __mFullMsg;
+