Cache를 사용하다가 오류가 나면, 그 오류에 대해 두려움을 가지기 쉬운데, 보다 자세히 들여다 보면 전혀 그럴 이유가 없다. 어차피 오류 메시지는 개발자 누군가가 스스로 원인을 파악할 수 있게끔 해 둔 것이기 때문이다. 이제 자주 발생하는 오류의 원인을 아래와 같이 파악해 보도록 하자.
우선, 오류가 발생하면, < > 로 묶인 부분의 내용을 통해 오류의 메시지를 읽어야 한다. 가령, 아래의 예를 보도록 하자.
if ('sc) Do $system.OBJ.DisplayError(sc)
^
<UNDEFINED>zImportXML+27^threek.SearchXML.1 *sc
위와 같은 오류메시지는 우선, < > 안에 있는 메시지 즉, 라는 부분을 주목해 보자. 그러면, 곧 이 오류의 내용이 무언가 정의되지 않은 변수를 사용하려다가 발생한 오류라는 것을 알 수가 있다. 그리고, 그 뒷부분에 오류가 발생한 위치와 이어서 나오는 '*'가 붙은 부분이 정의되지 않은 변수를 표시해 준다. 여기서는, *sc 즉, sc라는 변수가 정의 없이 사용되었다는 얘기이다.
정확한 본문의 소스코드 부분은, 바로 그 윗줄에 표시된 줄에서 발생되었다는 것이므로, 소스 코드에서 if ('sc) 부분을 찾아 보면 된다. Cache Object Script (COS) 언어 자체가 변수의 선언부 없이 값이 정해질 때 타입이 정해지므로, 컴파일 시에는 오류를 잡아 주지 않고, 이와 같이 실행시에 오류를 자주 만날 수 있으므로 당황하지 말고 해당 소스를 고쳐 보기 바란다.
|