2013-02-21 2 views
1

대부분의 코드는 try/catch 및 OpenLog (SSJS 예외 처리 용으로 수정 됨) 오류로 처리됩니다. 불행히도 SSJS의 예외는 hard to read stack trace입니다.LotusScript에서 LSI_Info에 해당하는 SSJS

그래서 더 많은 정보를 전달해야합니다. 적어도 이벤트/메소드는 오류 처리기입니다. "메서드 XY"인수를 모든 OpenLog.logError 호출에 간단하게 넣을 수는 있지만 모든 처리기가 고유하고 오류가 발생하기 쉽습니다 (프로그래머는 copypasta를 좋아합니다). LSI_Info이 동등한 것, 오류 처리기를 상수로 만드는 것이 좋을 것입니다 (그래서 Eclipse에서 템플릿으로 정의 할 수 있습니다).

SSJS 코드 (라이브러리 포함)에 대한 메소드/이벤트에 대한 정보가 "어디에 있습니까?"를 반환하는 호출이 있습니까?

+0

주제 오프 (도구 모음 다운로드가 OpenNTF에 here 찾을 수 있습니다) : 그냥 사람들에게 경고 할 수 있습니다. 더 이상 LSI_INFO()를 사용하지 마십시오. 메모리 손상/충돌을 일으킬 수 있습니다. 올바른 LS 명령은 GetThreadInfo()입니다. http://www-01.ibm.com/support/docview.wss?uid=swg21237286 –

+0

Xpages 로그인 IBM_TECHNICAL_SUPPORT 폴더는 일반적으로 실패한 XPage 및 코드 행을 자세히 설명합니다. –

+1

여기에 몇 가지 아이디어가 있습니다. http://dontpanic82.blogspot.fi/2009/12/helper-functions-for-debugging-xpages.html하지만 방법/이벤트를 이런 방식으로 얻을 수 있는지 확실하지 않습니다. –

답변

6

메시지 내 디버그 도구 모음 (GitHub의 here) 클래스의 코드를 살펴보십시오. 나는 '예쁜 인쇄'오류를 포함하고 com.ibm.jscript.InterpretException을 캡처합니다. 나는 OpenLog 이벤트 문서로 형식화 된 오류 메시지를 보내는 데 사용합니다. 그것은 (일종의) 기본 XPage 오류 페이지에서 얻은 정보를 모방합니다.

서식이 지정된 오류가 어떻게 나타나는지 보려면 툴바 demo page으로 가서 테스트 1 또는 테스트 2 버튼을 누릅니다. 그러면 사용자 정의 오류 양식에 의해 캡처 된 SSJS 오류가 발생합니다. 그 양식은 별도의 OpenLog 데이터베이스에 오류 메시지를 저장하도록 구성된 메시지를 도구 모음에 씁니다.

관련 문제