ATLENSURE

This macro is used to validate parameters passed to a function.

ATLENSURE(booleanExpression); 
ATLENSURE_THROW(booleanExpression, hr);

Parameters

  • booleanExpression
    Specifies a boolean expression to be tested.

  • hr
    Specifies an error code to return.

Remarks

These macros provide a mechanism to detect and notify the user of incorrect parameter usage.

The macro calls ATLASSERT and if the condition fails calls AtlThrow.

In the ATLENSURE case, AtlThrow is called with E_FAIL.

In the ATLENSURE_THROW case, AtlThrow is called with the specified HRESULT.

The difference between ATLENSURE and ATLASSERT is that ATLENSURE throws an exception in Release builds as well as in Debug builds.

Example

void MyImportantFunction(char* psz)
{
   ATLENSURE(NULL != psz);

   char mysz[64];
   strcpy_s(mysz, sizeof(mysz), psz);
}

Requirements

Header: afx.h

See Also

Reference

ATLASSERT

ENSURE (MFC)

Other Resources

Debugging and Error Reporting Macros

ATL Macros