ENSURE (MFC)

更新 : 2007 年 11 月

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

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

参照

概念

MFC マクロとグローバル

参照

VERIFY

ATLENSURE