public override bool Execute(ActivityExecutor executor, BookmarkManager bookmarkManager) { NativeActivityFaultContext faultContext = null; try { faultContext = new NativeActivityFaultContext(base.ActivityInstance, executor, bookmarkManager, this.propagatedException, this.originalExceptionSource); this.callbackWrapper.Invoke(faultContext, this.propagatedException, this.propagatedFrom); if (!faultContext.IsFaultHandled) { base.SetExceptionToPropagateWithoutAbort(this.propagatedException); } } catch (Exception exception) { if (Fx.IsFatal(exception)) { throw; } base.ExceptionToPropagate = exception; } finally { if (faultContext != null) { faultContext.Dispose(); } } return(true); }
public override bool Execute(ActivityExecutor executor, BookmarkManager bookmarkManager) { NativeActivityFaultContext faultContext = null; try { faultContext = new NativeActivityFaultContext(this.ActivityInstance, executor, bookmarkManager, this.propagatedException, this.originalExceptionSource); this.callbackWrapper.Invoke(faultContext, this.propagatedException, this.propagatedFrom); if (!faultContext.IsFaultHandled) { SetExceptionToPropagateWithoutAbort(this.propagatedException); } } catch (Exception e) { if (Fx.IsFatal(e)) { throw; } this.ExceptionToPropagate = e; } finally { if (faultContext != null) { faultContext.Dispose(); } // Tell the executor to decrement its no persist count persistence of exceptions is disabled. executor.ExitNoPersistForExceptionPropagation(); } return(true); }
public override bool Execute(ActivityExecutor executor, BookmarkManager bookmarkManager) { NativeActivityFaultContext faultContext = null; try { faultContext = new NativeActivityFaultContext(this.ActivityInstance, executor, bookmarkManager, this.propagatedException, this.originalExceptionSource); this.callbackWrapper.Invoke(faultContext, this.propagatedException, this.propagatedFrom); if (!faultContext.IsFaultHandled) { SetExceptionToPropagateWithoutAbort(this.propagatedException); } } catch (Exception e) { if (Fx.IsFatal(e)) { throw; } this.ExceptionToPropagate = e; } finally { if (faultContext != null) { faultContext.Dispose(); } // Tell the executor to decrement its no persist count persistence of exceptions is disabled. executor.ExitNoPersistForExceptionPropagation(); } return true; }