Bei der Dateibearbeitung und dem Aufruf anderer C-Laufzeitroutinen werden im Fehlerfall in den Meldungen Fehlercodes der Form yxxx ausgegeben. Im Zusammenhang mit der Dateibearbeitung werden diese auch DMS-Fehler genannt.
Folgende Inserts sind davon betroffen:
&DMSE
&ERRNO
&UERRNO
Die DMS-Fehler haben folgende Bedeutung:
y | Das erste Zeichen y bezeichnet die Funktion, bei deren Ausführung der Fehler aufgetreten ist. | |
A | Fehler beim Laden eines Shared Memories in den Adressraum | |
xxx | Die drei Zeichen xxx stellen abdruckbar die Fehlernummer dar, die vom Betriebssystem in der externen Variablen 'errno' hinterlegt wird. Dabei wird die Fehlernummer, falls notwendig, mit führenden Nullen auf die Länge von drei Zeichen erweitert. Die Bedeutung der einzelnen Fehlernummern ist in den System-Handbüchern bei den entsprechenden Aufrufen und im Headerfile |
Der Fehlercode O002 bedeutet beispielsweise, dass beim Öffnen einer Datei (O=open) die Datei nicht vorhanden war (2=errno ENOENT).
Zusätzlich gibt es noch folgende Fehlercodes:
CONS | Der Inhalt der Datei ist inkonsistent. |
GPOS | GPOS bedeutet, dass mit fgetpos() nicht die Position im Stream der Startparameterdatei geholt werden konnte. |
LERR | lseek konnte nicht auf die gewünschte Stelle positioniert werden. |
OERR | Es wurde versucht, ein Dateiverzeichnis als normale Datei zu öffnen. |
REND | Beim Lesen aus einer Datei wurde das Dateiende erreicht. |
RERR | Es konnten nicht genügend Bytes gelesen werden. |
WERR | Es konnten nicht genügend Bytes geschrieben werden. |
LOCK | Die Datei kann nicht geschrieben werden, weil sie gesperrt ist. |
MARK | Die erwarteten Datei-Markierungen konnten nicht gefunden werden. Vermutlich ist die Datei zerstört. |
USED | Die Datei kann nicht geschrieben werden, weil sie gerade verwendet wird. |
VERS | Die erwartete Versionsnummer konnte nicht gefunden werden. Eventuell ist die Datei zerstört. |