예외 처리 (튕김 방지)
unity 유니티 공부 2025. 10. 26. 15:27 |
예외 처리(Exception Handling) 
NullReferenceException:  
오브젝트를 참조하지 않는 변수에 접근하려고 할 때 발생합니다  
가장 흔함 
값이 없다는 거임 
DivideByZeroException:  
0으로 나누는 연산을 시도할 때 발생합니다. 
IndexOutOfRangeException:  
배열이나 컬렉션의 유효하지 않은 인덱스에 접근하려고 할 때 발생합니다. 
C#에서는 try, catch, finally 키워드를 사용하여 예외를 처리합니다. 
예외 처리를 해야 하는 이유 
안정성:  
예외 발생 시 프로그램이 강제 종료되는 것을 막고,  
사용자에게 친절한 오류 메시지를 보여주거나 다른 방법으로 실행을 계속할 수 있도록 합니다. 
디버깅:  
예외가 발생한 지점과 상황을 정확히 파악하여 문제를 해결하는 데 도움을 줍니다.
public GameObject targetObject;
void Start()
{
    // 예외 처리 대신 if문으로 Null 체크
    if (targetObject != null)
    {
        Debug.Log(targetObject.name);
    }
    else
    {
        Debug.LogError("Target Object가 할당되지 않았습니다.");
    }
}
// NullReferenceException 방지 예시
+
abc = 5/0 ;  
이런식으로 0 으로 나누면 컴퓨터에서 오류 뜸 
이러면 게임이 튕김 
try
{
abc = 5/0 ; 
}
catch(Exception)
이렇게 하면 예외 처리가 된 거임
Exception을 캐치 안에 넣으면 모든 오류를 무시하겠다는 말임
try
{
    // 예외 발생 가능성이 있는 코드
    int result = 10 / 0; 
}
catch (DivideByZeroException ie)
{
	 // 특정 예외 처리
    Debug.LogError("0으로 나눌 수 없습니다: " + ie.Message);
}
finally
{
	// 오류가 뜨던 말건 실행할 함수
    print(abc);
}
이렇게 캐치 안에 특정 오류를 콕 찝을 수 있음
finally 는 오류가 나던 말건 실행할 것을 의미함
반응형
    
    
    
  

