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.Exceptionund hängen Sie nicht vom Ausnahmetext in Ihrem Handler ab!