-
[openAL] #6. Guide 읽기 - 4 [에러 핸들링]개발일지 2021. 10. 8. 13:41728x90
에러 핸들링
OpenAL의 에러는 언제든지 alGetError로 확인할 수 있다.
alGetError는 호출됐을때 OpenAL의 에러를 초기화한다.
따라서 OpenAL을 사용하며 모든 중요한 단계에서는 가장 먼저 alGetError를 호출해 주는 것이 일반적이다.
그 후 중요한 동작이 끝난 후, alGetError로 에러를 확인해주면 된다.
에러코드의 종류는 아래와 같다.
에러코드 설명 AL_NO_ERROR 현재 에러 없음. AL_INVALID_NAME bad name(ID)가 함수에 들어옴. AL_INVALID_ENUM 유효하지 않은 enum value가 함수에 들어옴 AL_INVALID_VALUE 유효하지 않는 값이 함수에 들어옴 AN_INVALID_OPERATION 요청된 동작이 유효하지 않음 AL_OUT_OF_MEMORY 요청된 동작이 메모리초과를 유발함. 사용예시
alGetError(); // 에러 초기화 // 버퍼 생성 alGenBuffers(NUM_BUFFERS, g_buffers); if ((error = alGetError())!=AL_NO_ERROR) { // 에러가 있다면 DisplayALError("alGenBuffers :", error); exit(-1); }Extensions
OpenAL을 이용한 다양한 extension이 존재하는데, 이들을 알 기 위해서는
allsExtensionPresent나 alclsExtensionPresent를 호출해주면 된다.
'개발일지' 카테고리의 다른 글
[openAL] #8. 방향키로 소리 움직이게 하기 (0) 2021.10.21 [openAL] #7. 소리 재생 예제 만들기 (0) 2021.10.08 [openAL] #5. Guide 읽기 - 3 [소스 스트리밍 및 도플러 효과] (0) 2021.10.08 [openAL] #4. Guide 읽기 - 2 (0) 2021.10.07 [openAL] #3. Guide 읽기 - 1 (0) 2021.10.07