우리는 시스템을 시작하고 때로는 NullReferenceException
메시지와 함께 유명한 예외 가 발생합니다 Object reference not set to an instance of an object
.
그러나 거의 20 개의 객체가있는 방법에서 객체가 null이라는 로그를 갖는 것은 실제로 전혀 사용되지 않습니다. 세미나의 보안 요원 일 때 100 명의 참석자 중 한 명이 테러리스트라고 말하는 것과 같습니다. 그것은 당신에게 전혀 쓸모가 없습니다. 어떤 사람이 위협적인 사람인지 알아 내려면 더 많은 정보를 얻어야합니다.
마찬가지로 버그를 제거하려면 어떤 객체가 null인지 알아야합니다.
이제 몇 달 동안 무언가가 내 마음에 사로 잡혔습니다.
.NET이 왜 이름이나 최소한 객체 참조의 유형 인 null을 제공하지 않습니까? . 반사 또는 다른 출처의 유형을 이해할 수 없습니까?
또한 어떤 객체가 null인지 이해하는 가장 좋은 방법은 무엇입니까? 이러한 컨텍스트에서 항상 개체의 Null 허용 여부를 수동으로 테스트하고 결과를 기록해야합니까? 더 좋은 방법이 있습니까?
업데이트 :
예외 The system cannot find the file specified
의 특성은 동일합니다. 프로세스에 연결하고 디버그 할 때까지 어떤 파일을 찾을 수 없습니다. 이러한 유형의 예외가 더 지능적으로 될 수 있다고 생각합니다. .NET이 c:\temp.txt doesn't exist.
일반적인 메시지 대신 우리에게 말할 수 있다면 더 좋지 않을까요 ? 개발자로서 나는 찬성 투표합니다.
new
클래스의 인스턴스를 만드는 데 사용되는 "유용한"힌트가 포함 된 이유가 항상 궁금했습니다 . 그러한 힌트가 모두 실제로 도움이되는시기는 언제입니까?