From: Zygo Blaxell Date: Sun, 8 Jul 2018 00:17:24 +0000 (-0400) Subject: crucible: error: record location of exception in what() message X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1beb61fb78ba;p=bees crucible: error: record location of exception in what() message Make the log show where the exception is thrown from. Signed-off-by: Zygo Blaxell --- diff --git a/include/crucible/error.h b/include/crucible/error.h index 170b5ba2..1cfc0fa0 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)