Ho il codice seguente:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "HEAD";
request.Credentials = MyCredentialCache;
try
{
request.GetResponse();
}
catch
{
}
Come posso rilevare un errore 404 specifico? WebExceptionStatus.ProtocolError può solo rilevare che si è verificato un errore, ma non fornire il codice esatto dell'errore.
Per esempio:
catch (WebException ex)
{
if (ex.Status != WebExceptionStatus.ProtocolError)
{
throw ex;
}
}
Semplicemente non è abbastanza utile ... l'eccezione del protocollo potrebbe essere 401, 503, 403, qualsiasi cosa.
throw ex, genererai una nuova eccezione con uno stack di chiamate vuoto. Basta usare throw.
WebRequest
System.Exceptione non dipendere dal testo dell'eccezione nel tuo gestore!