ATLENSURE
更新 : 2007 年 11 月
このマクロは、関数に渡されたパラメータを検証する場合に使用します。
ATLENSURE(booleanExpression);
ATLENSURE_THROW(booleanExpression, hr);
パラメータ
booleanExpression
テストするブール式を指定します。hr
返すエラー コードを指定します。
解説
これらのマクロには、間違ったパラメータが使用されていることを検出してユーザーに通知する機構が用意されています。
マクロは、ATLASSERT を呼び出します。条件を満たしていない場合は、AtlThrow を呼び出します。
ATLENSURE の場合、E_FAIL と共に AtlThrow が呼び出されます。
ATLENSURE_THROW の場合は、指定された HRESULT と共に AtlThrow が呼び出されます。
ATLENSURE と ATLASSERT の違いは、ATLENSURE がデバッグ ビルドだけではなくリリース ビルドでも例外をスローすることです。
使用例
void MyImportantFunction(char* psz)
{
ATLENSURE(NULL != psz);
char mysz[64];
strcpy_s(mysz, sizeof(mysz), psz);
}
必要条件
ヘッダー : afx.h