Die form_error-Funktion ist erweitert worden, so daß für sämtliche GEMDOS-Fehler eine vernünftige Nachricht bei einem Aufruf von form_error ausgegeben werden kann.
Ein form_error()-Code berechnet sich aus einem GEMDOS-Fehlercode durch:
formcode = ~gemdoscode - 30
~ ist bitweises NOT
In der Tabelle "form_error-Codes" werden alle möglichen form_error-Codes den entsprechenden GEMDOS-Fehlern gegenübergestellt. In der ersten Spalte steht der form_error-Code und der Name des zugehörigen Objektes in der Systemressource, in der zweiten Spalte der entsprechende GEMDOS-Fehler und in der dritten Spalte eine kurze Beschreibung des Fehlers.
Bitte beachten Sie, daß nicht allen form_error-Codes ein GEMDOS-Fehler zugeordnet ist.
| Code | GEMDOS-Fehler | Bedeutung |
| 0 ERR_TOSERR | !~ | |
| 1 ERR_INVFN | -32 EINVFN | invalid function |
| 2 ERR_NOTFOUND | -33 EFILNF | file not found |
| 3 ERR_NOTFOUND | -34 EPTHNF | path not found |
| 4 ERR_NHNDL | -35 ENHNDL | no more handles |
| 5 ERR_ACCDN | -36 EACCDN | access denied |
| 6 ERR_IHNDL | -37 EBADF | invalid handle |
| 8 ERR_NSMEM | -39 ENSMEM | insufficient memory |
| 9 ERR_IMBA | -40 EIMBA | invalid memory block address |
| 15 ERR_DRIVE | -46 EDRIVE | invalid drive specification |
| 17 ERR_XDEV | -48 EXDEV | cross device rename |
| 18 ERR_NOTFOUND | -49 ENMFIL | no more files (fsnext) |
| 27 ERR_LOCKING | -58 ELOCKED | record is locked already |
| 28 ERR_LOCKING | -59 ENSLOCK | invalid lock removal request |
| 33 ERR_TOSERR | -64 ERANGE | range error |
| 34 ERR_INTRN | -65 EINTRN | internal error |
| 35 ERR_PLFMT | -66 EPLFMT | invalid program load format |
| 36 ERR_GSBF | -67 EGSBF | memory block growth failure |
| 49 ERR_LOOP | -80 ELOOP | too many symbolic links |
| 50 ERR_PIPE | -81 EPIPE | write to a broken pipe |
Jedem der verschiedenen form_errors entspricht auch eine entsprechende Alertbox in der Systemressourcedatei N_AESSYS.RSC, deren symbolische Konstante mit 'ERR_' beginnt und auch in der Tabelle "form_error-Codes" in der ersten Spalte angegeben ist.