2014-03-27 4 views
0

진행중인 AppServer 오류 처리를 테스트하고 싶습니다. 그러나 그것을 테스트하려면 num-messages> = 2로 런타임 오류가 발생합니다. 어떻게 여러 개의 오류를 생성 할 수 있습니까? 여기 진행중인 여러 런타임 오류 발생 4GL


내가

METHOD PRIVATE VOID LogToAppserver(): 

    DEFINE VARIABLE locNumErrors AS INTEGER NO-UNDO. 

    locNumErrors = ERROR-STATUS:NUM-MESSAGES. 

    DO WHILE locNumErrors > 0: 
     MESSAGE ERROR-STATUS:GET-MESSAGE (locNumErrors). 
     locNumErrors = locNumErrors - 1. 
    END. 

    RETURN. 

END METHOD. 

METHOD PRIVATE VOID LogToAppserver(INPUT iError AS Progress.Lang.Error): 

    DEFINE VARIABLE locNumErrors AS INTEGER NO-UNDO. 

    locNumErrors = iError:NumMessages. 

    DO WHILE locNumErrors >0: 

     MESSAGE iError:GetMessage(locNumErrors). 

     locNumErrors = locNumErrors - 1. 

    END. 

    RETURN. 

END METHOD. 
+0

> = 2 오류 메시지가 왜 필요합니까? 코드에서 오류가 발생하는 경우 코드를 테스트하기에 충분해야합니다. –

+0

왜 Progress.Lang.AppError를 만들지 않고 AddMessage (CHAR, INT) 메서드를 사용하여 일부 메시지를 추가하고 버리십시오. –

+0

@TimKuehn 그게 문제의 문제입니다, 코드는 단지 내가하려고하는 것을 표시하기위한 것입니다. 아마도 4GL 또는 ABL에서 이러한 다중 오류를 생성하는 방법을 알고있을 것입니다. –

답변

3

이 코드를 시도처럼 LogToAppserver 보이는 곳

IF ERROR-STATUS:ERROR THEN  
    LogToAppserver(). 

CATCH e AS Progress.Lang.Error : 
    LogToAppserver(e). 
END CATCH. 

을하려고 무엇의 일부 샘플입니다

DEF VAR h AS HANDLE NO-UNDO.  

CREATE SERVER h.     
h:CONNECT("") NO-ERROR.   
DISPLAY ERROR-STATUS:num-messages. 

2 개의 메시지를 제공해야합니다.

+0

이것이 내가 찾은 것입니다. 감사합니다. –

관련 문제