Was this helpful?
LastRuntimeError Attribute
Data Type: JsonObject
4GL Access: RW
The LastRuntimeError attribute provides information about the last 4GL runtime error generated.
It is a JsonObject with members representing the details in the following members:
errorcode (JsonNumber)
errortext (JsonString)
errordate (JsonString)
severity (JsonNumber)
module (JsonString)
linenumber (JsonNumber)
Usage example:
DECLARE
etxt = VARCHAR(2000) NOT NULL;
emod = VARCHAR(2000) NOT NULL;
eline = INTEGER NOT NULL;
ENDDECLARE
{
CurSession.LastRuntimeError = NULL; // Clear previous error info
res = p4(a = a, b = b); // p4 might cause a runtime error like "division by zero"
IF CurSession.LastRuntimeError IS NOT NULL THEN
// Handle error
etxt = JsonString(CurSession.LastRuntimeError.GetMember(name = 'errortext')).Value.Value;
emod = JsonString(CurSession.LastRuntimeError.GetMember(name = 'module')).Value.Value;
JsonNumber(CurSession.LastRuntimeError.GetMember(name = 'linenumber')).GetValue(value = BYREF(eline));
MESSAGE 'Error when calling "p4" (line ' + VARCHAR(eline) + ' of module "' + emod + '"):' + HC_NEWLINE + etxt;
ENDIF;
}
Last modified date: 05/07/2026