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.Exception
e non dipendere dal testo dell'eccezione nel tuo gestore!