0
我想測試一些正在進行的AppServer錯誤處理。但是,爲了測試它,我希望num-messages> = 2時發生運行時錯誤。如何生成這樣的多重錯誤?提高正在進行的幾個運行時錯誤4GL
這裏是什麼,我試圖做
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.
爲什麼你需要> = 2個錯誤信息?只要代碼拋出一個錯誤,那應該足以測試你的代碼。 –
爲什麼不創建一個Progress.Lang.AppError,用AddMessage(CHAR,INT)方法添加一些消息並拋出它? –
@TimKuehn這是問題的問題,代碼只是旨在顯示我試圖做的事情。也許你知道一種在4GL或ABL中產生這種多重錯誤的方法? –