KoreanFoodie's Study
언리얼 어설트 정리 (assert, verify, ensure) 본문
Assert
assert 는 일반적으로 참조하고자 하는 변수가 null 인지 아닌지를 체크하는 용도로 자주 사용된다.
실제 개발을 할 때는 프로젝트명으로 된 헤더파일에 assert 구문을 이용한 커스텀 로그를 만들어 놓는 게 간편하다.
언리얼에서의 assert 종류는 크게 check, verify, ensure 이 있다.
// assert 는 DO_CHECK = 1 일때만 실행
// check 는 false 값이면 실행을 중지
check(Mesh != nullptr);
checkf(MyPtr, TEXT("MyPtr is nullptr")); // false 이면 로그 출력
checkcode(MyPtr, TEXT("MyPtr is nullptr")); // checkf 와 비슷
checkNoEntry(); // 절대 실행될 리 없는 경로 표시
checkNoReentry(); // 호출 완료 전까지 다시 호출되면 안되는 경우 체크
checkNoRecursion(); // checkNoReentry() 와 동일
unimplemented(); // 반드시 재정의해야 하는 가상 함수를 표시하기 위해 사용
// verify 는 DO_CHECK = 1 이 아니어도 실행
verify(Mesh != nullptr); // 이하 다른 method 는 assert 와 유사
// ensure 은 콜스택을 생성한다
ensure(MyPtr != nullptr); // 이 지점까지의 콜스택 생성
ensureMsg(MyPtr, TEXT("log")); // 콜스택 생성 + 로그 출력
ensureMsgf(Success, TEXT("log")); // if 문의 조건문 안에 넣어 사용 가능
'Game Dev > Unreal C++ : Study' 카테고리의 다른 글
언리얼 코어 리다이렉트 (Core Redirect) (0) | 2022.04.04 |
---|---|
언리얼 비동기 애셋 로딩 (Asynchronous Loading) (0) | 2022.04.04 |
언리얼 문자열 (FName, FString, FText) 클래스 (0) | 2022.04.01 |
언리얼 가비지 컬렉션 (Unreal Garbage Collection) (0) | 2022.04.01 |
언리얼 스마트 포인터(Unreal Smart Pointer) 정리 1 : 종류, 이점과 예제 (0) | 2022.04.01 |
Comments