HttpWebRequest
использует для операции пары IAsyncResult
и Begin / End.
Вы передадите делегат метода Callback в операцию Begin, а затем в этом обратном вызове вы вызовете метод End для этой операции. Чтобы поймать ошибку, которая могла произойти в асинхронной части операции, вы помещаете блок try вокруг вашего вызова метода End.
Например, при вызове BeginGetResponse
вы можете передать этот вызов обратно: -
private void Callback(IAsyncResult asyncResult)
{
try
{
HttpWebResponse resp = (HttpWebResponse)myRequest.EndGetResponse(asyncResult);
}
catch (Exception e)
{
//Something bad happened during the request
}
}