// Funkcja, ktra moe wyj.
void ZapiszDaneDoPlikuL( const TDesC8& aDane )
{
    // ...
    RFs systemPlikow;
    TInt err = systemPlikow.Connect();
    
    if( err == KErrNone )
    {
        RFile plik;
        err = plik.Replace( systemPlikow, _L("c:\\dane\\plik.dat"), EFileWrite );
        
        if( err == KErrNone )
        {
            err = plik.Write( aDane );
            plik.Close();
        }
        
        systemPlikow.Close();
    }
    
    User::LeaveIfError( err );
}

// Funkcja, ktra NIE moe wyj.
void PrzetwarzajDane()
{
    TBuf8< 512 > dane;
    // ...
    
    TInt err;    // Zmienna zostanie zainicjalizowana przez makro TRAP.
    TRAP( err, ZapiszDaneDoPlikuL( dane ) );
    if( err )
    {
        // Obsuga bdu
    }
}
