2013-08-28 1 views
1

많은 경로가있는 단일 URL을 검색합니다. 예 : http://url.com/path1 ~ 1000. 때때로 나는 줄
if (x.Status == WebExceptionStatus.ProtocolError && x.Response != null)WebException 응답 속성이 null을 반환합니다.

를 사용하지 않는 경우가 WebException하지만 내 catch 블록에, 그것은 그래서 제 질문이있는 NullReferenceException 오류가 발생합니다 얻을 : 아래의 코드는 오류를 수정하거나 무시합니까?

오류 에러 특정 경로가없는 무작위 같은 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()); 
     } 
    } 
} 
+0

이해할 수없는 부분은 무엇입니까? – terrala7

+0

나는 많은 경로 ex : http : //url.com/path1을 1000으로 스캔하지만, if (x.Status == WebExceptionStatus.ProtocolError && x.Response! = null)를 사용하지 않으면, 'NullReferenceException' 오류가 발생하므로 위의 코드에서 오류를 수정하거나 무시하십시오. – terrala7

+2

나는 또한이 질문을 이해하지 못합니다. 당신의 영어 실력이 좋지 않아서 다시 말해야 겠어요. 이 시점에서 부정 투표는 필요하지 않습니다. 정확히 무엇을 원하는지 알려주기 위해 그것을 분명히하려고 노력하십시오. 질문을 편집하고 추가 의견을 쓰지 마십시오. –

답변

4

응답이에서 사용할 수있는 경우 WebException.Response property

에 대한 설명서에 따르면, 인터넷 자원, 인터넷 자원으로부터의 오류 응답을 포함하는 WebResponse 인스턴스; 그렇지 않으면 null입니다. 내가 제대로 질문을 이해한다면

그래서, 다음 그것을 '무시'보다는 코드가 제대로 NullReferenceException을 피할 수 있다는 것을 의미 null에 대한 WebException.Response을 테스트하는 것이 필요하다.

희망이 있습니다.

+1

사이트가 반환 된 사이트가 null이되지 않는다면 그 뜻입니까? – terrala7

0

응답을 사용할 수 없을 때 코드가 원본 WebException을 무시합니다. 응답이있는 실패처럼 listBox에 이러한 실패를 추가 할 것인지 여부는 사용자에게 달려 있습니다

+0

코드를 사용하여 코드를 무시합니까? – terrala7

+0

'있는'경우 'else' –

관련 문제