Assuming you just want to propagate exceptions, you have to mess with TaskContinuationSource (I.e, promises) and be damn certain you have wired it into all the right places.
Async/await makes error handling much more uniform and "obviously correct" than stringing callbacks together.