Skip to main content

ErInternalError

ErInternalError = 3

Example

function IsInternalVmFailure(const ErrorType: TIFException): Boolean;
begin
Result := ErrorType = ErInternalError;
end;

Usage

ErInternalError represents a Velox script-engine consistency failure. The current Velox version does not normally produce this category automatically; use it only when an explicit custom error contract requires that exact value.

Formatting and exception state

ExceptionToString ignores Param and returns Internal error. A manually supplied parameter remains available through ExceptionParam even though the formatter does not show it.

Additional Technical Info

ErInternalError is member ordinal 3 of TIFException, the script-visible declaration that is kept in exact ordinal alignment with PascalScript's runtime TPSError. Its sidebar position 24 is alphabetical navigation metadata and is not its enumeration value.

ErInternalError is ordinal 3 in the shared TIFException/TPSError taxonomy. It represents an internal virtual-machine consistency failure rather than invalid business data or a normal imported-function error. Current Velox PascalScript runtime source declares and formats the member but contains no explicit CMD_Err, CMD_Err2 or exception-translation producer for it. It remains reachable through RaiseException, persisted compatibility with compiled code, or host code that supplies the enumeration value.

Behavior, recovery and quirks

  • Absence of a current automatic producer is part of the contract; documentation must not invent a specific failing opcode or subsystem.
  • Do not raise this category for script validation. Use erCustomError so support tooling can distinguish deliberate failures from VM-integrity signals.
  • If observed without an explicit script raise, preserve the compiled script, product version, procedure/position and surrounding logs for engineering investigation.
  • 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

External references

Created 2026-07-15