에서 개체 이니셜 라이저를 사용할 때 예외를 throw하는 속성을 식별 할 수 없습니다 아래의 두 샘플 코드에서 C# 정상 메서드 및 개체 이니셜 라이저를 사용하여 테스트이라는 클래스를 인스턴스화하려고합니다.C#
DateTime? nullDate = null; //this value will come from somewhere else
DateTime? notNullDate = DateTime.Now;
var test = new Test();
test.Date = nullDate.Value; //exception will throw here
test.Name = "String";
test.AnotherDate = notNullDate.Value;
위의 샘플 코드에서 디버깅하는 동안 어떤 속성이 예외를 표시하는지 분명하게 알 수 있습니다.
위의 코드에서 개체 이니셜 라이저를 사용할 때 예외가 throw되는 예외를 이해할 수 없습니다. 여기서 나는 한 줄씩 디버깅 할 수 없었다. 속성을 많이 초기화하면 식별하기가 매우 어렵습니다.
여기 내 질문 : 어떤 속성이 예외 창에서 예외를 표시하고 있는지 식별 할 수 있습니까? 현재, 내부 예외는 null입니다.
초기화 할 수 없기 때문에 null 체크 등을해야합니다. 예외는 _what_에 대한 어떤 문맥도 제공하지 않습니다. –
@DStanley null 참조를 확인할 수는 있지만 제 질문은 예외를 발생시키는 속성을 식별하는 다른 방법이 아닙니까? – JEMI
아니요 - 예외는 _what_가 null에 대한 컨텍스트를 제공하지 않습니다. –