view MetroWpf/MetroWpf.Framework/Extensions/TaskExtensions.cs @ 16:2395908fa45b

Getting there... 1.20am at BKK airport. MainWindow and Menu now have VMs, Login form is displayed first
author stevenh7776 stevenhollidge@hotmail.com
date Wed, 14 Mar 2012 01:23:18 +0700
parents 060f02cd4591
children
line wrap: on
line source

using System;
using System.Threading.Tasks;

namespace MetroWpf.Framework.Extensions
{
    public static class TaskExtensions
    {
        public static void PropagateExceptions(this Task task)
        {
            if (task == null)
                throw new ArgumentNullException("task");
            if (!task.IsCompleted)
                throw new InvalidOperationException("The task has not completed yet.");

            if (task.IsFaulted)
                task.Wait();
        }

        public static string GetErrorMessage(this AggregateException ex)
        {
            return ex.Flatten().InnerException.Message;
        }
    }
}