Каков наилучший способ отловить исключение в задании?

СSystem.Threading.Tasks.TaskЯ должен управлять исключениями, которые могут быть выброшены. Я'Я ищу лучший способ сделать это. Пока что ямы создали базовый класс, который управляет всеми необработанными исключениями внутри вызова I '.ContinueWith(...)

мне интересно, если естьлучший способ сделать это. Или даже если это хороший способ сделать это.

public class BaseClass
{
    protected void ExecuteIfTaskIsNotFaulted(Task e, Action action)
    {
        if (!e.IsFaulted) { action(); }
        else
        {
            Dispatcher.CurrentDispatcher.BeginInvoke(new Action(() =>
            {
                /* I display a window explaining the error in the GUI 
                 * and I log the error.
                 */
                this.Handle.Error(e.Exception);
            }));            
        }
    }
}   

public class ChildClass : BaseClass
{
    public void DoItInAThread()
    {
        var context = TaskScheduler.FromCurrentSynchronizationContext();
        Task.Factory.StartNew(() => this.Action())
                    .ContinueWith(e => this.ContinuedAction(e), context);
    }

    private void ContinuedAction(Task e)
    {
        this.ExecuteIfTaskIsNotFaulted(e, () =>
        {
            /* The action to execute 
             * I do stuff with e.Result
             */

        });        
    }
}

Ответы на вопрос(2)

Ваш ответ на вопрос