정의
Assert는 개발 중 예상치 못했거나 유효하지 않은 런타임 조건을 탐지하고 진단하는 데 사용된다.
Unreal에서 Assert는 Check, Verify, Ensure 3가지 종류가 있다.
Check
- 첫 번쨰 파라미터가 false 값으로 평가 되었을 때 실행을 정지하고, 기본적으로 출시 빌드에서 실행되지 않는다.
Verify
- 대부분의 빌드에서 Check 계열과 똑같이 작동한다. 하지만 Check 매크로가 비활성화된 빌드에서도 표현식을 평가한다.
즉, Check 매크로가 비활성화된 출시 빌드에서 Check 매크로는 실행조차 안하고, Verify는 조건을 검사 하지만, 결과를 사용하지 않고, 실패해도 크래시나 로그를 발생시키지 않는다.
Ensure
- 표현식이 false일 경우 오류가 있음을 크래시 리포터에 알리지만 실행은 계속 한다.
치명적이지 않은 오류에서 사용한다.
사용예시
check(MyPointer != nullptr);
verify(FunctionReturnTrue());
ensure(MyPointer != nullptr);