我想测试正在进行中的一些AppServer错误处理。但是,为了对其进行测试,我希望使用num-messages> = 2的运行时错误。如何生成这样的多个错误?

这是我正在尝试做的一些样本

IF ERROR-STATUS:ERROR THEN
   LogToAppserver().


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

LogToAppserver看起来像
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.

最佳答案

试试这个代码

DEF VAR h AS HANDLE NO-UNDO.

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

它应该给出2条消息。

10-08 01:52