using System.Threading.Tasks;
public static void Main()
(new Program()).MainAsync().Wait();
public async Task MainAsync()
var requestTask = Task.Factory.StartNew<object>(() =>
throw new Exception("This is the base exception");
var responseHandlerTask = requestTask.ContinueWith(t => Callback(t));
var responseContent = await responseHandlerTask;
public object Callback(Task<object> task)