このコードを考えると、A
はサードパーティのライブラリにあり、B
私が書いたコードは次のとおりです。
class A {...};
class B { public: B( const A &a ); ... };
try
{
A a(...);
throw a;
}
catch ( const B &b )
{
// ...do stuff with B, like log the details to a file...
}
オブジェクトA
がスローされた場合、 mycatch B
はスキップされます。オブジェクトB
を受け取るコンストラクターがあるので、これが機能することを期待していました。A
これを機能させるためにできることはありますか、または両方のキャッチを処理するためにすべてのcatch
句を変更する必要がA
ありB
ますか?