aboutsummaryrefslogtreecommitdiff
path: root/framework/Exceptions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'framework/Exceptions.cpp')
-rw-r--r--framework/Exceptions.cpp14
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