在WebException错误中获取错误号
如何在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? }
您将要运行测试以确保它是ProtocolError
:
if (e.Status == WebExceptionStatus.ProtocolError) { Console.WriteLine("Status Code : {0}", ((HttpWebResponse)e.Response).StatusCode); Console.WriteLine("Status Description : {0}", ((HttpWebResponse)e.Response).StatusDescription); }
获取错误号:
catch(System.Net.WebException e) { int errorNumber = (int)e.Status; }
您可以尝试解析消息,但并不总是出现错误编号。 例如,超时不会导致HTTP错误代码。
您不能这样做,因为WebException(s)
没有错误号。 您可以定义自己的错误编号,如果这是您想要/需要做的。
这是文档,你可以获得Status,Message,StackTrace等等。