私はこのコンストラクタの例外を処理するテストコードを持っています。 関数f()はゼロによる例外除算を作成しますが、この例外は捕捉されません。 代わりにカスタム整数をスローすると例外が捕捉されます。私はカスタム スロー10をキャッチすることができますなぜ なぜコンストラクタで例外をキャッチできないのですか?
#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;
}
。 ではなく、 x = 1/0であり、
ゼロで整数除算を行うと、クラッシュ、鼻の悪魔、プログラマが妊娠してしまうなど、何らかの事態が起こる可能性があることに注意してください。 –
よろしくお願いいたします...ありがとうございます – demosthenes