2

我正在使用 Boost.Test 针对一些旧的 C 数学库编写单元测试。已知为某些指定输入引发整数除零系统异常的测试函数之一。假设这是期望的行为,我想为这种情况编写否定测试。

BOOST_REQUIRE_THROW(statement, exception);对我不起作用,因为它不是 C++ 样式异常(此宏在try {} catch {}内部使用)。

当我预计系统级别出现故障时,处理案例的正确方法是什么?

4

1 回答 1

1

由于它是 Windows,我建议查看_set_se_translator() Windows API。它允许使用 C++ 处理结构化异常catch

还有其他可能的方法,例如安装您的处理程序,但这种方法允许统一的异常处理,就好像它们是 C++ 异常一样,只需最少的编程工作。

于 2011-12-12T23:51:15.543 回答