From 2b7ecda029aeeb1e9c1f586b3635c1b539f7671b Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sun, 27 Mar 2011 20:30:31 +0000 Subject: Add some macros for Windows specific error logging. --- lib/common/Logging.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/common/Logging.h b/lib/common/Logging.h index 47045a50..b1301743 100644 --- a/lib/common/Logging.h +++ b/lib/common/Logging.h @@ -42,7 +42,8 @@ { BOX_LOG(Log::TRACE, stuff) } #define BOX_SYS_ERRNO_MESSAGE(error_number, stuff) \ - stuff << ": " << std::strerror(error_number) << " (" << errno << ")" + stuff << ": " << std::strerror(error_number) << \ + " (" << error_number << ")" #define BOX_FILE_MESSAGE(filename, message) \ message << ": " << filename @@ -103,6 +104,14 @@ inline std::string GetNativeErrorMessage() BOX_WARNING(stuff << ": " << GetErrorMessage(number)) #define BOX_LOG_NATIVE_ERROR(stuff) BOX_LOG_WIN_ERROR(stuff) #define BOX_LOG_NATIVE_WARNING(stuff) BOX_LOG_WIN_WARNING(stuff) + #define BOX_WIN_ERRNO_MESSAGE(error_number, stuff) \ + stuff << ": " << GetErrorMessage(error_number) << " (" << error_number << ")" + #define THROW_WIN_ERROR_NUMBER(message, error_number, exception, subtype) \ + THROW_EXCEPTION_MESSAGE(exception, subtype, \ + BOX_WIN_ERRNO_MESSAGE(error_number, message)) + #define THROW_WIN_FILE_ERRNO(message, filename, error_number, exception, subtype) \ + THROW_WIN_ERROR_NUMBER(BOX_FILE_MESSAGE(filename, message), \ + error_number, exception, subtype) #else #define BOX_LOG_NATIVE_ERROR(stuff) BOX_LOG_SYS_ERROR(stuff) #define BOX_LOG_NATIVE_WARNING(stuff) BOX_LOG_SYS_WARNING(stuff) -- cgit v1.2.3