command-line-api
command-line-api copied to clipboard
Improve default exception handler to support aggregated canceling.
Take in account the case when an OperationCanceledException is wrapped into an AggregateException.
Can also use AggregateException.GetBaseException() to peel multiple levels of AggregateException with one inner exception in each. (It overrides Exception.GetBaseException() but behaves quite differently.)
Or AggregateException.Handle(Func<Exception, bool>) to handle every OperationCanceledException anywhere in the tree and throw the rest; but that would affect the stack trace..