相关疑难解决方法(0)

C++:捕获除零错误

这是一段简单的代码,其中除以零.我想抓住它:

#include <iostream>

int main(int argc, char *argv[]) {
    int Dividend = 10;
    int Divisor = 0;

    try {
        std::cout << Dividend / Divisor;
    } catch(...) {
        std::cout << "Error.";
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是应用程序无论如何都会崩溃(即使我选择-fexceptionsMinGW).

是否有可能捕获到这样的异常(我理解的不是C++异常,而是FPU异常)?

我知道我可以分割之前检查除数,但我做了一个假设,因为除零是罕见的(至少在我的应用程序中),尝试分割会更有效(并且如果捕获错误则更有效)它发生)而不是每次除数前的除数.

我正在WindowsXP计算机上进行这些测试,但是想让它跨平台.

c++ performance exception-handling mingw

27
推荐指数
4
解决办法
5万
查看次数

标签 统计

c++ ×1

exception-handling ×1

mingw ×1

performance ×1