我想测试正在进行中的一些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条消息。