Beispiel #1
0
 internal static void FilterExceptionThroughCausalities(ITask task, Exception exception)
 {
     try
     {
         CausalityThreadContext currentThreadCausalities = Dispatcher.GetCurrentThreadCausalities();
         if (CausalityThreadContext.IsEmpty(currentThreadCausalities))
         {
             if (task != null)
             {
                 DispatcherQueue taskQueue = task.TaskQueue;
                 if (!taskQueue.RaiseUnhandledException(exception))
                 {
                     Dispatcher dispatcher = taskQueue.Dispatcher;
                     if (dispatcher != null)
                     {
                         dispatcher.RaiseUnhandledException(exception);
                     }
                 }
             }
         }
         else
         {
             currentThreadCausalities.PostException(exception);
         }
     }
     catch (Exception exception2)
     {
         Dispatcher.LogError(Resource1.ExceptionDuringCausalityHandling, exception2);
     }
 }