anchor.diff:      handle_result(Fun(Ctx), Rest)
     catch
       Error:Reason ->
  +      lager:error( "Try/catch triggered in flow. Error: ~p:~p. Callstack: ~p"
  +                     , [Error, Reason, unrest_context:callstack(Context)]
  +                 ),
         {ok, Ctx1} = unrest_context:errors_push({Error, Reason}, Ctx),
         {ok, Ctx1}
     end.
  
positive.code:     handle_result(Module:Fun(Ctx), Rest)
    catch
      Error:Reason ->
        {ok, Ctx1} = unrest_context:errors_push({Error, Reason}, Ctx),
        {ok, Ctx1}
    end;
  
negative.code: handle_result({ok, Context}, Rest) ->
    run(Rest, Context);
  handle_result({error, Context, Error}, Rest) ->
    lager:warning( "Non-critical error in flow. Error: ~p. Callstack: ~p"
                 , [Error, unrest_context:callstack(Context)]
               ),
    {ok, UpdatedContext} = unrest_context:errors_push(Error, Context),
    run(Rest, UpdatedContext);
  handle_result({stop_flow, Context}, _) ->
    {ok, Context};
  handle_result({stop_flow, Context, Error}, _) ->
    lager:error( "Flow stopped due to error. Error: ~p. Callstack: ~p"
               , [Error, unrest_context:callstack(Context)]
               ),
    unrest_context:errors_push(Error, Context).
  
  %%% Local Variables:
  