WebException Response属性返回null
本文关键字:null 返回 属性 Response WebException | 更新日期: 2023-09-27 18:29:21
我正在扫描一个具有多个路径的url,例如:http://url.com/path1
到1000
。有时我会得到一个WebException
,但在我的catch
块中,如果我不使用行,它会抛出一个NullReferenceException
错误if (x.Status == WebExceptionStatus.ProtocolError && x.Response != null)
所以我的问题是:下面的代码是修复错误还是忽略它?
错误没有特定的错误路径,只是像http://url.com/path10
或任何其他链接一样随机,谢谢:)
catch (WebException x)
{
if (x.Status == WebExceptionStatus.ProtocolError && x.Response != null)
{
HttpWebResponse response = (HttpWebResponse)x.Response;
if (response.StatusCode == HttpStatusCode.NotFound)
{
listBox3.Items.add(listBox1.Items[i].ToString());
}
}
}
根据WebException.Response
属性的文档
如果可以从Internet资源获得响应,则WebResponse包含来自互联网资源的错误响应的实例;否则,null。
因此,如果我正确理解您的问题,那么有必要针对null
测试WebException.Response
,这意味着您的代码正确地避免了NullReferenceException
,而不是"忽略"它。
希望能有所帮助。
当没有响应时,您的代码将忽略原始WebException。是否要将这些故障添加到listBox中,就像有响应的故障一样,这取决于