c++ - 如何使用 Boost.Test 库处理整数除以零异常?

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

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

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

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

最佳答案

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

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

关于c++ - 如何使用 Boost.Test 库处理整数除以零异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8482490/

相关文章:

C++ array.at(i) 和 array[i] 性能

c# - 如何删除仍在其他程序中打开的临时文件?

PHPExcel - 如何舍入值?

c# - 如何在 .Net Core Web API 项目中对使用 Mapper 的方法进行单元测试

unit-testing - 单元测试的详细程度

node.js - 如何使用从 Controller 返回的值?在 NestJs 上测试 Controller

c++ - 两个整数到一个 double C++

c++ - 在结构 C++ 中使用列表

c++ - 单链表c++构造函数、析构函数和打印

c++ - 如何在后台线程上正确设置全局鼠标 Hook ?