Visual RPG 9.0 Language Reference  

%ERROR Function - (Return Error Condition)

%ERROR built-in function returns True if the most recent operation with error operation extender specified resulted in an error condition.

%ERROR

Remarks

This is the same as the error indicator being set on for the operation.  Before an operation with an error operation extender begins, %ERROR is set to return False and remains unchanged following the operation if no error occurs.  All operations that allow an error indicator can also set or reset the %ERROR built-in function.

The implementation of RPGIV's %ERROR built-in function is that each program has its own %ERROR.  The "program" analog in a .NET Windows application is the current thread.  %ERROR is NOT unique per class - it can be used by shared and non-shared members.  %ERROR is a per-thread shared flag, and is therefore thread-safe when used in multithreading.  %ERROR is stored in thread local storage using Thread.GetNamedDataSlot and Thread.SetData (which means it cannot be quickwatched).  Because all AVR .NET objects in the thread share the same %ERROR built-in function, use of the Try/Catch/Throw is advised when you need more granular error handling.

Example

CHAIN From(myfile) Key(myKey) Err(*EXTENDED)
   If %Error
   .
   . // error handling here
   .
Endif

See Also

Built-in Function Overview
IsError Property