ATLENSURE
ATL Library Reference 
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.

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 for ATLENSURE
void CMyClass::GetKeyAt( POSITION pos ){
   ATLENSURE(pos != NULL);
   ...
} 
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
Page view tracker