从ASSERT_THROW获取异常消息

时间:2013-11-04 05:02:57

标签: c++ exception testing googletest

我正在使用googletest,在我的许多测试中,我使用ASSERT_THROW命令。问题是,例如,如果它抛出的异常与我预期的异常不同,我得到的只是:

  

实际:它会抛出不同的类型。

有没有办法让它吐出what()或其他东西的返回值?

1 个答案:

答案 0 :(得分:2)

您可能会通过指针(使用new关键字)

投掷
throw new MyDerivedException();

并期望收到非指针类型的异常:

EXPECT_THROW(blah, MyDerivedException);

你应该按投掷。

throw MyDerivedException(); // notice lack of 'new'