/// <summary>
/// Listener event for any unhandled exceptions.
/// </summary>
/// <param name="sender">Sender object instance.</param>
/// <param name="e">Event arguments.</param>
private void GlobalUnhandledExceptionListener(object sender, EventArgs e)
{
if (DispatcherStack.CurrentCompositeWorkItem is CompositeWorkItem)
{
CompositeWorkItem cd = (CompositeWorkItem)DispatcherStack.CurrentCompositeWorkItem;
Exception exception = GlobalExceptionHandler.GetExceptionObject(e);
cd.WorkItemException(exception);
GlobalExceptionHandler.ChangeExceptionBubbling(e, /* handled */ true);
}
else
{
GlobalExceptionHandler.ChangeExceptionBubbling(e, /* handled */ false);
}
}