Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 Null 참조 예외(NullReferenceException)를 처리하는 방법

C# Null 참조 예외란?

Null 참조 예외(NullReferenceException)는 null 객체를 참조할 때 발생하는 오류입니다. 값이 null로 설정된 멤버 필드나 함수에 접근하려고 할 때 이 예외가 발생합니다.

예를 들어 다음과 같이 null 문자열이 있다고 가정해 보겠습니다.

string str = null;

이 상태에서 null 문자열의 길이를 구하려고 하면 예외가 발생합니다.

if(str.Length == null) {}

위 코드는 실행 시점에 예외를 던지게 됩니다. 그렇다면 null 참조 예외가 발생하지 않도록 어떻게 방지할 수 있을까요?

null 참조 예외 방지 방법

가장 기본적인 방법은 객체를 사용하기 전에 null 여부를 먼저 검사하는 것입니다. 아래 예제처럼 조건문으로 null 체크를 수행하면 예외 없이 안전하게 코드를 실행할 수 있습니다.

예제 코드

using System;

class Program {
   static void Main() {
      int[] arr = new int[5] {1,2,3,4,5};
      display(arr);

      arr = null;
      display(arr);
   }

   static void display(int[] arr) {
      if (arr == null) {
         return;
      }
      Console.WriteLine(arr.Rank);
   }
}

실행 결과

1

위 코드에서 display 메서드는 배열을 전달받아 차수(Rank)를 출력합니다. 두 번째 호출에서는 arr이 null로 설정되었지만, 메서드 내부에서 if (arr == null) 조건으로 null을 먼저 확인한 뒤 조기 반환(return)하기 때문에 예외가 발생하지 않습니다.

결과적으로 첫 번째 호출에서만 1이 출력되고, 두 번째 호출은 null 검사에 의해 조용히 종료됩니다. 이처럼 null 체크 습관을 들이면 C# 프로그램에서 흔히 발생하는 NullReferenceException을 효과적으로 예방할 수 있습니다.