diff options
Diffstat (limited to 'framework/Exceptions.cpp')
-rw-r--r-- | framework/Exceptions.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/framework/Exceptions.cpp b/framework/Exceptions.cpp index d573fe91fa..46b1eac974 100644 --- a/framework/Exceptions.cpp +++ b/framework/Exceptions.cpp @@ -102,15 +102,25 @@ std::string to_string(LogLevel level) return stream.str(); } -TestError::TestError(const std::string &msg, LogLevel level) - : runtime_error{ msg }, _level{ level } +TestError::TestError(const std::string &msg, LogLevel level, std::string context) + : std::runtime_error{ msg }, _level{ level }, _msg{ msg }, _context{ std::move(context) }, _combined{ "ERROR: " + msg } { + if(!_context.empty()) + { + _combined += "\nCONTEXT:\n" + _context; + } } LogLevel TestError::level() const { return _level; } + +const char *TestError::what() const noexcept +{ + return _combined.c_str(); +} + } // namespace framework } // namespace test } // namespace arm_compute |