我正在为我的项目使用谷歌测试框架。我从代码中抛出异常:
throw DerivedClassException("message");
并在测试框架中使用as:
ASSERT_THROW(commond(), DerivedClassException);
我想通过what()
API获取消息。
以任何方式获得异常的确切异常消息。
答案 0 :(得分:8)
检查抛出异常的唯一方法是在测试中捕获它:
void test_foo( MyTest, TestException )
{
try
{
functionThatThrowsException();
FAIL();
}
catch( const DerivedClassException& err )
{
// check exception
ASSERT_STREQ( "error message", err.what() );
}
}