void Tick () { try { try { if (pipeline != null && pipeline.MoveNext ()){ if (pipeline == null || (bool)pipeline.Current) PipelineDone (); } } catch (ThreadAbortException taex) { object obj = taex.ExceptionState; Thread.ResetAbort (); stop_processing = true; if (obj is StepTimeout) ProcessError (new HttpException ("The request timed out.")); else PipelineDone (); } catch (Exception e) { Console.WriteLine ("Tick caught an exception that has not been propagated:\n" + e); } } catch (Exception outer) Console.WriteLine ("Tick caught another exception:\n" + e); } }