私はC++を新しくしています。とても愚かな質問をして申し訳ありませんが、C++の例外処理メカニズムのthrow文と混同しています。C++例外と混同する
- 以下のコードでは、名前が のクラス名に一致する関数を呼び出すのはなぜですか?
- コンストラクタですか?
class Except
のインスタンスを作成していますか?
私はそこの構文を理解していないです。
class A
{
public:
class Except{};
void foo() { throw Except(); }
};
int main()
{
A a;
try
{
a.foo();
}
catch(Except E)//exception handler
{
cout << "Catched exception" << endl;
}
}
はいデフォルトのコンストラクタを使用して「例外」のインスタンスを作成していますが、引数はありません。 – CoryKramer
あなたが学んでいるように。 const参照、例えば 'catch(const Except&E)'で例外をキャッチします。 –