如何使用Boost.Test库处理Integer Division By Zero异常?

时间:2011-12-12 23:36:47

标签: c++ windows unit-testing boost-test divide-by-zero

我正在使用Boost.Test对一些旧的C数学库编写单元测试。已知的一种已测试函数,用于针对某些指定输入引发Integer Division By Zero系统异常。让我们说这是理想的行为,我想为这个案例写负面测试。

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

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

1 个答案:

答案 0 :(得分:1)

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

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