Ich habe folgenden Code:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "HEAD";
request.Credentials = MyCredentialCache;
try
{
request.GetResponse();
}
catch
{
}
Wie kann ich einen bestimmten 404-Fehler abfangen? Der WebExceptionStatus.ProtocolError kann nur erkennen, dass ein Fehler aufgetreten ist, gibt jedoch nicht den genauen Code des Fehlers an.
Beispielsweise:
catch (WebException ex)
{
if (ex.Status != WebExceptionStatus.ProtocolError)
{
throw ex;
}
}
Ist einfach nicht nützlich genug ... die Protokollausnahme könnte 401, 503, 403 sein, eigentlich alles.
throw ex
, Sie generieren eine neue Ausnahme mit einem leeren Aufrufstapel. Einfach benutzen throw
.
WebRequest
System.Exception
und hängen Sie nicht vom Ausnahmetext in Ihrem Handler ab!