我有這個測試代碼來處理構造函數中的異常。 函數f()通過零創建一個異常除法,但這個異常不會被捕獲。 相反,如果我拋出一個自定義整數異常被捕獲。爲什麼無法在構造函數中捕獲異常?
#include <iostream>
using namespace std;
class A
{
public:
void f(){
int x;
x=1/0;
//throw 10;
}
A(){
try{
f();
}
catch(int e){
cout << "Exception caught\n";
}
}
};
int main (int argc, const char * argv[])
{
A a;
return 0;
}
爲什麼我能趕上定製 擲10; 而不是 x = 1/0;
請注意,除以零除以整數除外,*會發生任何事情,包括崩潰,鼻惡魔和程序員懷孕。 – 2012-05-05 10:36:35
好吧,我看到了...非常感謝你 – demosthenes