[C#] System.NullReferenceException

2022. 12. 20. 19:17이것저것

728x90

C#을 접해 보니 거의 dll 의 덩어리라고 해도 과언이 아닌 것 같습니다.

내가 프로그램을 만들었다고 하면, 적어도 50개 이상의 dll 을 사용하고 있다라는 생각도 들구요

 

비주얼스튜디오도 잘 안써보다 쓰니까...모르는 기능도 많고 말입니다.

뭔가를 만들때 당황스러운 경우가 생기기 시작하더군요

예를들면, 내가 만들지도 않은 dll 의 어떤 메서드에서 System.NullReferenceException 이 발생 하는 데,

그냥 지나가 버려 어느 부분에서 오류가 나는 지 알 수 없어서 헤메이고 있었던 때가 생각이 납니다.

 

스택오버플로우에서 찾았습니다. 뭐, 원래는 마이크로소프트 홈페이지에서 찾아야 하지만 어디면 어떨까요 ^^

static void Main(string[] args)
{
	var mA = new DoubleMatrix(100, 200, 1.5);
	var mB = new DoubleMatrix(200, 50, 1.2);
	var mC = NMathFunctions.Product(mA, mB);
	Console.WriteLine(mC[5, 6]);

	Console.WriteLine("Computation finished");
	Console.ReadLine();
}
 

위 코드에서

  • DoubleMatrix 클래스는 외부 라이브러리인 CenterSpace의 NMath 라이브러리이며,
  • NMath.dll 을 링크 시켜서 사용하고 있다고 합니다.

그런데, 문제는 위 코드를 실행 할 때마다, System.NullReferenceException 일어 난다는 것입니다.

.

위의 경우와 비슷한 경우가 저한테도 발생 했는 데, System.NullReferenceException 만 출력 창에 나타나지만 잡히지 않아서 애를 먹었습니다.

 

답변의 내용은 두가지 적용 인데요.

1의 경우에는 VS 2019 기준으로 다음과 같이 설정 해 줍니다.

2번의 경우에는 다음과 같이 디버그 > 창 > 중단점 을 선택 해 줍니다.

그런 다음 NullRef 로 해당 예외를 찾아 줍니다.

그리곤 해당 예외에 체크를 해 주는 것입니다. 그렇게 되면 아래와 같이 예외를 잡아 줍니다.

이상.

 

 

728x90