Here is the Boost Test assertion: BOOST_CHECK_EXCEPTION(dummyOpr->setOperand(emptyValue), DiGSE::fail, fail_msg); Here is the test execution log message: info: check 'incorrect exception DiGSE::fail is caught' has passed I have only one exception: *DiGSE::fail* (derived from *std::exception*). It is the /only /exception that appears in the *BOOST_CHECK_EXCEPTION()* assertions. So, what does "incorrect exception *DiGSE::fail*" mean? If *DiGSE::fail* was caught, then that part is correct. If the message means that some /other/ exception was caught, then this is a Really Poor way of phrasing that information. Or, did the predicate return *false* (which, in my case, means the exception message is wrong)? But if the wrong exception was caught /or/ the predicate returned *false*, then why was the assertion declared "has passed"? Merrill Cornish