[英]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.