private void ProcessEvent(EventSet eventSet, FlowEventArgs eventArgs) { if (nextOperation == OperationType.Abort) { return; } try { var source = GetTargetSource(eventSet.EventHandler); Evaluate(source); eventSet.EventHandler.Invoke(eventArgs); Evaluate(source); } catch (FlowExecutionException e) { Error?.Invoke(e); ProcessError(e); if (debugMode) { throw; } } catch (ThreadAbortException) { } catch (Exception e) { var error = new FlowExecutionException(e, eventSet.Source); Error?.Invoke(error); ProcessError(error); } }
private void ProcessError(FlowExecutionException e) { if (debugController != null) { debugController.Error(this, e); Evaluate(e.SourceObject, false); } }
private void OnErrorOccurred(FlowSourceManager flowSourceManager, FlowExecutionException e) { ErrorOccurred?.Invoke(flowSourceManager, e); }
internal void Error(FlowSourceManager flowSourceManager, FlowExecutionException e) { OnErrorOccurred(flowSourceManager, e); }