【问题标题】:The python exception vs C++ exception handlingpython异常与C++异常处理
【发布时间】:2010-06-24 21:11:49
【问题描述】:

使用以下代码,我得到了“Gotcha!”用python。

尝试: x = 0 y = 3/x 除了例外: # ZeroDivisionError 打印“明白了!”

我认为这是等效的 C++ 代码,但它无法捕捉到异常。

#include <iostream>

int main()
{
  int x = 0;
  //float y = 3.0/x;
  int z = 0;

  try {
      z = 3 / x;
  } catch (std::exception) {
      std::cout << "Gotcha!";
  }

  std::cout << z;
}
浮点异常

出了什么问题? 我怎样才能捕捉到这个异常?

【问题讨论】:

标签: c++ exception-handling


【解决方案1】:

在 C++ 中,除以零不会产生异常;它会导致未定义的行为。

必须在实际执行除法之前检查除数,因为如果您实际计算除数为零的除法表达式,则无法知道会发生什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-16
    相关资源
    最近更新 更多