>  기사  >  백엔드 개발  >  초보자와 베테랑 모두 피할 수 없는 문제 - 개체의 인스턴스에 대한 개체 참조를 설정하지 않음

초보자와 베테랑 모두 피할 수 없는 문제 - 개체의 인스턴스에 대한 개체 참조를 설정하지 않음

黄舟
黄舟원래의
2017-02-23 10:09:042771검색

"객체 참조가 객체의 인스턴스로 설정되지 않았습니다." 코드를 작성한 사람이라면 누구나 기술 수준에 관계없이 이 문제에 직면할 것이라고 믿습니다. 개체. 이는 일반적으로 우리가 참조하는 객체가 비어 있을 때 발생합니다. 이 문제는 매개변수를 전달할 때 자주 발생합니다. 이때 우리가 호출하는 매개변수가 비어 있는지 여부를 고려해야 합니다.

제가 겪은 문제는 다음과 같습니다.

3-tier 아키텍처에서 레이어 B가 인터페이스를 호출할 때 발생한 문제는 추상 팩토리를 통해 인터페이스를 생성했기 때문에 호출된 인터페이스가 성공적으로 생성되지 않았기 때문인 것으로 분석했습니다. 오류 지점은 다음과 같습니다.

클래스 코드에 이름이 실제 클래스 이름과 다릅니다. 여기에는 코드에 1이 추가되어 있습니다. 이는 부주의한 실수이지만 이 오류의 원리를 명확히 해야 합니다. 이번에는 클래스 이름이 다를 수도 있지만 다음에는 그렇지 않을 수도 있습니다. 인터넷에서 찾은 이 오류의 다른 가능한 이유는 다음과 같습니다.

1. ViewState 개체가 Null입니다.

2. DateSet이 비어 있습니다.

3. SQL 문이나 Datebase로 인해 DataReader가 비어 있습니다.

4. 문자열 변수를 선언할 때는 null 값을 할당하지 않고 변수를 사용하세요.

5. 객체가 new로 초기화되지 않았습니다.

6. 세션 개체가 비어 있습니다.

7. 컨트롤에 텍스트 값을 할당할 때 해당 값이 존재하지 않습니다.

8. Request.QueryString() 사용시 획득한 객체가 존재하지 않거나, 값이 비어있는 경우 초기값이 할당되지 않습니다.

9. FindControl을 사용할 때 컨트롤이 존재하지 않지만 전처리가 수행되지 않습니다.

10. 정의를 반복하면 객체 참조가 객체의 인스턴스로 설정되지 않는 오류가 발생합니다.

위의 내용은 신인과 베테랑 모두 피할 수 없는 문제입니다. 객체 참조를 객체의 인스턴스로 설정하지 않는 경우입니다. PHP 중국어 웹사이트(www.php.cn)를 주목하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.