Change-Id: Ib0259dbd85bc5526b474396ac82b819f0b03b54d
virtual ~Exception() = default;
virtual const char *what(void) const noexcept {
virtual ~Exception() = default;
virtual const char *what(void) const noexcept {
- return (message() + " From: " + m_backtrace).c_str();
+ if(m_whatMessage.empty()) {
+ m_whatMessage = message() + " From: " + m_backtrace;
+ }
+ return m_whatMessage.c_str();
}
virtual const std::string message(void) const = 0;
private:
std::string m_backtrace;
}
virtual const std::string message(void) const = 0;
private:
std::string m_backtrace;
+ mutable std::string m_whatMessage;
};
} /* namespace Cynara */
};
} /* namespace Cynara */