次の方法で共有


ENSURE (MFC)

データが正しいかどうかを検証するために使用します。

ENSURE(
   booleanExpression
)
ENSURE_VALID(
booleanExpression
)

パラメーター

  • booleanExpression
    テストするブール式を指定します。

解説

これらのマクロは、パラメーターの検証を向上することを目的としています。 マクロを使用すると、コード内の正しくないパラメーターがそれ以上処理されなくなります。 ASSERT のマクロとは異なり、ENSURE のマクロは、アサーションを生成するだけではなく、例外をスローします。

マクロは、プロジェクト構成に応じて 2 とおりの動作を行います。 マクロは、ASSERT を呼び出した後、アサーションが失敗すると、例外をスローします。 したがって、デバッグ構成では (つまり、_DEBUG が定義されている場合)、マクロはアサーションと例外を生成します。その一方、リリース構成では、マクロは例外だけを生成します (ASSERT は、リリース構成の例外を評価しません)。

ENSURE_ARG マクロの動作は、ENSURE マクロと同様です。

ENSURE_VALID は、ASSERT_VALID マクロを呼び出します (このマクロはデバッグ ビルドのみで有効です)。 さらに、ENSURE_VALID は、ポインターが NULL の場合に例外をスローします。 NULL のテストは、デバッグ構成とリリース構成の両方で実行されます。

テストが失敗したときは、ASSERT と同じ方法で警告メッセージを表示します。 マクロは、必要に応じて、無効な引数の例外をスローします。

使用例

void CMyClass::Open(CMyObject* pMyObject)
{
   ENSURE_VALID(pMyObject); 
   ENSURE(m_CubeLen > 0);
   pMyObject->DoSomething();
}

必要条件

**ヘッダー:**afx.h

参照

参照

VERIFY

ATLENSURE

概念

MFC マクロとグローバル