簡體   English   中英

python異常與C ++異常處理

[英]The python exception vs C++ exception handling

通過以下代碼,我得到了“ Gotcha!”。 用python。

try:
    x = 0
    y = 3/x
except Exception:
    # ZeroDivisionError
    print "Gotcha!"

我認為這是等效的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;
}
Floating point exception

什么地方出了錯? 如何捕獲此異常?

在C ++中,除以零不會產生異常。 它會導致不確定的行為。

必須在實際執行除法之前檢查除數,因為如果您實際對除數為零的除法表達式求值,將無法知道會發生什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM