ErOutOfRange
ErOutOfRange = 10
Example
function IsGeneralVmRangeFailure(const ErrorType: TIFException): Boolean;
begin
Result := ErrorType = ErOutOfRange;
end;
Usage
ErOutOfRange represents the Velox scripting runtime's general data, index or encoded-value bounds failure.
Formatting and exception state
ExceptionToString ignores Param and returns Out Of Range. Automatic producers normally provide no offending index, limit or value.
Additional Technical Info
ErOutOfRange is member ordinal 10 of TIFException, the script-visible declaration that is kept in exact ordinal alignment with PascalScript's runtime TPSError. Its sidebar position 37 is alphabetical navigation metadata and is not its enumeration value.
ErOutOfRange is the broad range category used throughout bytecode loading and execution. Producers guard compiled-buffer reads, attribute/value lengths, array/string/set indexes, encoded variable data, temporary/runtime tables and several opcode-specific bounds. The exact cause must be determined from the failing procedure/position and operation.
It is broader than erOutOfGlobalVarsRange, erOutOfProcRange, erOutOfStackRange and the legacy-named erOutofRecordRange, which identify narrower tables/checks.
Behavior, recovery and quirks
- A user-controlled string/array index can cause this category, but during loading it can instead indicate malformed compiled data. Do not assume one recovery strategy from the name alone.
- Where input bounds are predictable, validate before indexing. For loader/bytecode failures, recompile or investigate artifact integrity.
- Range failure after external calls does not roll back completed host changes.
- Exception transfer is not a database, dataset, filesystem or external-system transaction. Any earlier side effect remains unless the called API or surrounding Flow provides an explicit rollback contract.
- Do not persist the numeric ordinal as an integration contract. Store the member name, formatted message, parameter and relevant procedure/position with the Velox version.
Related Code Library entries
TIFException- complete member order and shared VM-error contract.ExceptionType- read the category saved for the current executor/handler.ExceptionParam- read its associated parameter before state changes.ExceptionProcandExceptionPos- locate the compiled procedure and instruction.ExceptionToString- exact text/parameter mapping for every category.RaiseExceptionandRaiseLastException- create a new error or preserve the caught one.try..except- handler availability, propagation and rollback boundaries.
External references
- RemObjects PascalScript
uPSRuntime.pas- upstream runtime taxonomy and executor context; the modified source shipped with Velox is authoritative for current behavior.