コンパイラの警告 (レベル 1) C4286

'type1' : 行番号の基底クラス ('type2') によってキャッチされます

指定された例外の種類は、前にあるハンドラーによって処理されます。 2 番目の catch の型は、最初の catch の型から派生します。 基底クラスの例外は、派生クラスの例外をキャッチします。

//C4286.cpp
// compile with: /W1
#include <eh.h>
class C {};
class D : public  C {};
int main()
{
    try
    {
        throw "ooops!";
    }
    catch( C ) {}
    catch( D ) {}  // warning C4286, D is derived from C
}