15

WebExceptionエラーでエラー番号を取得する方法は?

try
{
     HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("site");
     HttpWebResponse response = (HttpWebResponse)request.GetResponse();
     Stream stream = response.GetResponseStream();
     int i = stream.ReadByte();
}
catch (WebException e)
{
     //How To Get Error number in WebException Error?
}
4

4 に答える 4

28

テストを実行して、次のことを確認する必要がありProtocolErrorます。

if (e.Status == WebExceptionStatus.ProtocolError) 
{
    Console.WriteLine("Status Code : {0}", ((HttpWebResponse)e.Response).StatusCode);
    Console.WriteLine("Status Description : {0}", ((HttpWebResponse)e.Response).StatusDescription);
}
于 2011-09-16T06:29:47.407 に答える
6

エラー番号を取得する場合:

catch(System.Net.WebException e)
{
    int errorNumber = (int)e.Status;
}
于 2011-09-21T10:27:52.910 に答える
0

メッセージの解析を試みることはできますが、常にエラー番号があるとは限りません。たとえば、タイムアウトは HTTP エラー コードにはなりません。

于 2011-09-16T06:29:28.987 に答える
-1

WebException(s)エラー番号がないため、それを行うことはできません。それがあなたがしたい/する必要がある場合は、独自のエラー番号を定義できます。

ここにドキュメントがありますステータス、メッセージ、スタックトレースなどを取得できます。

于 2011-09-16T06:28:45.243 に答える