From 1beb61fb78ba17e4a9fe0e1836531e713fc203ef Mon Sep 17 00:00:00 2001 From: Zygo Blaxell Date: Sat, 7 Jul 2018 20:17:24 -0400 Subject: [PATCH] crucible: error: record location of exception in what() message Make the log show where the exception is thrown from. Signed-off-by: Zygo Blaxell --- include/crucible/error.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/crucible/error.h b/include/crucible/error.h index 170b5ba..1cfc0fa 100644 --- a/include/crucible/error.h +++ b/include/crucible/error.h @@ -81,21 +81,21 @@ namespace crucible { // macro for throwing an error #define THROW_ERROR(type, expr) do { \ std::ostringstream _te_oss; \ - _te_oss << expr; \ + _te_oss << expr << " at " << __FILE__ << ":" << __LINE__; \ throw type(_te_oss.str()); \ } while (0) // macro for throwing a system_error with errno #define THROW_ERRNO(expr) do { \ std::ostringstream _te_oss; \ - _te_oss << expr; \ + _te_oss << expr << " at " << __FILE__ << ":" << __LINE__; \ throw std::system_error(std::error_code(errno, std::system_category()), _te_oss.str()); \ } while (0) // macro for throwing a system_error with some other variable #define THROW_ERRNO_VALUE(value, expr) do { \ std::ostringstream _te_oss; \ - _te_oss << expr; \ + _te_oss << expr << " at " << __FILE__ << ":" << __LINE__; \ throw std::system_error(std::error_code((value), std::system_category()), _te_oss.str()); \ } while (0)