summaryrefslogtreecommitdiff
path: root/lib/common/Box.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/common/Box.h')
-rw-r--r--lib/common/Box.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/common/Box.h b/lib/common/Box.h
index 6ef797be..bbff2ccb 100644
--- a/lib/common/Box.h
+++ b/lib/common/Box.h
@@ -105,7 +105,9 @@
#define THROW_EXCEPTION(type, subtype) \
{ \
- if(!HideExceptionMessageGuard::ExceptionsHidden() \
+ if((!HideExceptionMessageGuard::ExceptionsHidden() \
+ && !HideSpecificExceptionGuard::IsHidden( \
+ type::ExceptionType, type::subtype)) \
|| Logging::Guard::IsGuardingFrom(Log::EVERYTHING)) \
{ \
std::auto_ptr<Logging::Guard> guard; \
@@ -127,7 +129,9 @@
{ \
std::ostringstream _box_throw_line; \
_box_throw_line << message; \
- if(!HideExceptionMessageGuard::ExceptionsHidden() \
+ if((!HideExceptionMessageGuard::ExceptionsHidden() \
+ && !HideSpecificExceptionGuard::IsHidden( \
+ type::ExceptionType, type::subtype)) \
|| Logging::Guard::IsGuardingFrom(Log::EVERYTHING)) \
{ \
std::auto_ptr<Logging::Guard> guard; \
@@ -139,8 +143,9 @@
\
OPTIONAL_DO_BACKTRACE \
BOX_WARNING("Exception thrown: " \
- #type "(" #subtype ") (" << message << \
- ") at " __FILE__ "(" << __LINE__ << ")") \
+ #type "(" #subtype ") (" << \
+ _box_throw_line.str() << \
+ ") at " __FILE__ ":" << __LINE__) \
} \
throw type(type::subtype, _box_throw_line.str()); \
}