System.Net.Http.WinHttpHandler.WinHttpHandler.HandleAsyncException C# (CSharp) Method

HandleAsyncException() private method

private HandleAsyncException ( WinHttpRequestState state, Exception ex ) : void
state WinHttpRequestState
ex System.Exception
return void
        private void HandleAsyncException(WinHttpRequestState state, Exception ex)
        {
            if (state.CancellationToken.IsCancellationRequested)
            {
                // If the exception was due to the cancellation token being canceled, throw cancellation exception.
                state.Tcs.TrySetCanceled(state.CancellationToken);
            }
            else if (ex is WinHttpException || ex is IOException)
            {
                // Wrap expected exceptions as HttpRequestExceptions since this is considered an error during 
                // execution. All other exception types, including ArgumentExceptions and ProtocolViolationExceptions
                // are 'unexpected' or caused by user error and should not be wrapped.
                state.Tcs.TrySetException(new HttpRequestException(SR.net_http_client_execution_error, ex));
            }
            else
            {
                state.Tcs.TrySetException(ex);
            }
        }