Null 레퍼런스 예외 해결방법

2023. 7. 28. 14:51·개발툴/Unity
  • 오브젝트를 레퍼런스하지 않는 레퍼런스 변수에 엑세스하려고하면 발생한다.
  • 레퍼런스 변수가 오브젝트를 참조하지 않는 경우 null로 처리되고, NullReferenceException을 표시한다.

해결방법

  1. Null 체크
    • 변수를 사용하기 전에 변수가 null인지 확인한다.
using UnityEngine;
using System.Collections;

public class Example : MonoBehaviour {

    void Start () {
        GameObject go = GameObject.Find("wibble");
        if (go) {
            Debug.Log(go.name);
        } else {
            Debug.Log("No game object called wibble found");
        }
    }
}
  1. Try/Catch 블럭
    • 사용하려는 변수를 설정하지 않으면 try 블럭에서 NullReferenceException이 발생하고, catch 블럭에서 픽업한다.
    • Catch 블럭은 아티스트와 게임 디자이너에게 유용할 수 있는 메시지를 표시하고, 요구사항을 알린다.
using UnityEngine;
using System;
using System.Collections;

public class Example2 : MonoBehaviour {

    public Light myLight; // set in the inspector

    void Start () {
        try {
            myLight.color = Color.yellow;
        }       
        catch (NullReferenceException ex) {
            Debug.Log("myLight was not set in the inspector");
        }
    }

'개발툴 > Unity' 카테고리의 다른 글

Unity Tilemap을 이용해서 원하는 크기의 격자맵 그리기  (0) 2023.09.30
IL2CPP  (0) 2023.09.30
<시간 및 프레임 속도 관리>  (0) 2023.07.16
FixedUpdate의 고정된 시간 간격으로 인해 Update와 FixedUpdate의 호출 빈도가 달라지면 성능 문제가 일어나지 않는가?  (0) 2023.07.11
FixedUpdate는 프레임에 영향을 받지 않는가?  (0) 2023.07.11
'개발툴/Unity' 카테고리의 다른 글
  • Unity Tilemap을 이용해서 원하는 크기의 격자맵 그리기
  • IL2CPP
  • <시간 및 프레임 속도 관리>
  • FixedUpdate의 고정된 시간 간격으로 인해 Update와 FixedUpdate의 호출 빈도가 달라지면 성능 문제가 일어나지 않는가?
가든_
가든_
  • 가든_
    Code Garden
    가든_
  • 전체
    오늘
    어제
    • 글 목록 (60)
      • 프로그래밍 언어 (11)
        • JAVA (0)
        • C++ (2)
        • C# (9)
      • 개발툴 (24)
        • Visual Studio (0)
        • Visual Studio Code (1)
        • Eclipse (1)
        • Unity (19)
        • Unreal (0)
        • Spring (1)
        • SpringBoot (0)
        • Vue (2)
      • 디자인 패턴 (6)
      • 백엔드 (4)
        • MySQL (1)
        • Servlet (3)
      • 프론트엔드 (4)
        • HTML (3)
        • CSS (0)
        • Javascript (1)
      • 알고리즘 (10)
        • 공식 (3)
        • 백준 (6)
        • SW Expert Academy (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    HTML
    Reflex
    스택
    컴파일 상수
    Adaptee
    구조적 UML 다이어그램
    swea2112
    ()=>
    SetTile
    행동 UML 다이어그램
    클래스 어댑터
    DI
    런타임 상수
    구조패턴
    Adapter 패턴
    RDBM
    다이어그램 그리기
    chatGPT
    FixedUpdate
    Abstract Factory 패턴
    MVC
    Factory 패턴
    Proxy 패턴
    c#
    Unity
    12738
    Java
    상태공간트리
    오브젝터 어댑터
    UniRX
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
가든_
Null 레퍼런스 예외 해결방법
상단으로

티스토리툴바