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..