Mercurial > silverbladetech
view MetroWpf/MetroWpf.Framework/Extensions/TaskExtensions.cs @ 60:fc62c971a117
upload to blog
author | Steven Hollidge <stevenhollidge@hotmail.com> |
---|---|
date | Sat, 21 Apr 2012 21:19:39 +0100 |
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; } } }