Returns, as an INTEGER value, an ABL error code that indicates whether an execution error occurred during the last OS-APPEND, OS-COPY, OS-CREATE-DIR, OS-DELETE, OS-RENAME or SAVE CACHE statement.
The following procedure prompts the user to enter a file to delete, attempts to delete the file, and then calls the OS-ERROR function to check for an execution error. If an error occurs, the procedure branches based on the error number and responds accordingly.
r-os-err.p
DEFINE VARIABLE err-status AS INTEGER NO-UNDO.
DEFINE VARIABLE filename AS CHARACTER NO-UNDO FORMAT "x(40)"
LABEL "Enter a file to delete".
UPDATE filename.
OS-DELETE VALUE(filename).
err-status = OS-ERROR.
IF err-status <> 0 THEN
CASE err-status:
WHEN 1 THEN
MESSAGE "You are not the owner of this file or directory.".
WHEN 2 THEN
MESSAGE "The file or directory you want to delete does not exist.".
OTHERWISE
DISPLAY "OS Error #" + STRING(OS-ERROR,"99") FORMAT "x(13)"
WITH FRAME b.
END CASE.
|
| Error number | Description |
|---|---|
| 0 | No error |
| 1 | Not owner |
| 2 | No such file or directory |
| 3 | Interrupted system call |
| 4 | I/O error |
| 5 | Bad file number |
| 6 | No more processes |
| 7 | Not enough core memory |
| 8 | Permission denied |
| 9 | Bad address |
| 10 | File exists |
| 11 | No such device |
| 12 | Not a directory |
| 13 | Is a directory |
| 14 | File table overflow |
| 15 | Too many open files |
| 16 | File too large |
| 17 | No space left on device |
| 18 | Directory not empty |
| 999 | Unmapped error (ABL default) |