Skip to content

Handling errors | 한국어

Jongmoon Yoon edited this page Aug 2, 2018 · 1 revision

에러 처리

에러 발생 시 error 이벤트를 발생시킵니다.

에러 핸들러의 파라미터의 type 속성과 message 속성을 보면 어떤 에러가 발생했는지 판단할 수 있습니다. view360 은 다음과 같은 에러를 핸들링합니다.

10: INVALID_DEVICE: 미지원 기기

11: NO_WEBGL: WEBGL 미지원

12, FAIL_IMAGE_LOAD: 이미지/비디오 로드 실패

13: FAIL_BIND_TEXTURE: 텍스쳐 바인딩 실패

14: INVALID_RESOURCE: 리소스 지정 오류 (image 혹은 video 중 하나만 지정되어야 함)

15: RENDERING_CONTEXT_LOST: WebGL 컨텍스트 해지

텍스처 바인딩 오류 시점 파악하기

viwer.on({
      "error" : function(err) {
            // err.type === 13
            // err.message === "failed to bind texture"
      }
});

rendering context lost 오류 시점 파악하기

다수의 인스턴스를 생성하다보면 브라우저가 가장 오래된 WebGL 컨텍스트를 삭제하고 렌더링을 중지합니다. PanoViewer 는 이 상황에 대응하여 자동으로 사용자 입력을 비활성화합니다.

이때 개발자는 비활성화된 뷰어의 UI 를 변경해야하기 때문에 강제로 렌더링 컨텍스트가 회수되는 시점을 알아야할 필요가 있습니다. 이 시점 알림은 error 이벤트를 통해 제공됩니다. rendering context lost 로 인한 에러 이벤트일 경우 이벤트 객체의 type (속성) 값이 15 입니다.

panoViewer.on("error", function(e) {
	if (e.type === 15) { // rendering context lost 발생
		// 비활성화 대응 작업 
	}
});
Clone this wiki locally