Catch2 要求异常等于某物

Catch2 require the exception to be equal to something

我正在寻找这段代码的替代品,因为它在整个测试段中重复出现,我在其中检查它是否 returns 正确的错误消息(来自枚举)。

try {
  function_that_throws();
} catch (MyErrorEnum error) {
  REQUIRE(error == MyErrorEnum::TheExactError);
}

我认为 Catch2 中应该有一个内置的。

使用 类 而不是枚举是 eerorika 的一个很好的解决方案。 然后使用 REQUIRE_THROW_AS 类型而不是值。