Mercurial > silverbladetech
diff MetroWpf/MetroWpf.Framework/Extensions/TaskExtensions.cs @ 15:060f02cd4591
Initial commit, pre airport work
author | stevenh7776 stevenhollidge@hotmail.com |
---|---|
date | Mon, 12 Mar 2012 23:05:21 +0800 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MetroWpf/MetroWpf.Framework/Extensions/TaskExtensions.cs Mon Mar 12 23:05:21 2012 +0800 @@ -0,0 +1,24 @@ +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; + } + } +}