void FunkcjaAlokujacaPamiecL()
    {
    HBufC *buf1, *buf2, *buf3, *buf4;
    buf1 = HBufC::NewLC( 128 );
    buf2 = HBufC::NewLC( 128 );
    buf3 = HBufC::NewLC( 128 );    // <- Tutaj nastpi wyjcie z kodem KErrNoMemory.
    buf4 = HBufC::NewLC( 128 );
    
    // ...
    
    CleanupStack::PopAndDestroy( 4, buf1 );
    }

// ...

__UHEAP_FAILNEXT( 3 );    // Trzecia alokacja pamici ma si nie uda.
TRAPD( blad, FunkcjaAlokujacaPamiecL() );

if( blad == KErrNoMemory )
    {
    // Brak pamici!
    }
else
    {
    // Propaguj bd wyej, jeeli wystpi inny bd
    // ni KErrNoMemory.
    User::LeaveIfError( blad );
    }
