System.SysUtils.EInOutError

Aus Appmethod Libraries
Wechseln zu: Navigation, Suche

System.SysUtils.ExceptionSystem.TObjectEInOutError

Object Pascal

EInOutError = class(Exception)

C++

class PASCALIMPLEMENTATION EInOutError : public Exception

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
class public
System.SysUtils.pas
System.SysUtils.hpp
System.SysUtils System.SysUtils

Beschreibung

EInOutError ist die Exception-Klasse für Dateieingabe- oder Dateiausgabefehler.

EInOutError wird ausgelöst, wenn ein Fehler bei der Dateieingabe oder Dateiausgabe auftritt, jedoch nur, wenn die Ein-/Ausgabeüberprüfung aktiviert ist.

Hinweis: In Object Pascal wird mit der Direktive $I+ die Ein-/Ausgabeüberprüfung aktiviert. Wenn ein E/A-Fehler auftritt, während diese Direktive deaktiviert ist, muss zum Beheben des Fehlers die Funktion IOResult aufgerufen werden.

Hinweis: In C++-Programmen ist die Ein-/Ausgabeüberprüfung eine Projektoption.

Der Fehlercode steht im Klassen-Member ErrorCode zur Verfügung. Die Fehlercodes sind in Gruppen von 0 bis 99 unterteilt (native Betriebssystemfehler). Fehlernummern über 100 bezeichnen Object Pascal-Betriebssystemfehler.

Die Fehlercodes im Bereich von 0 bis 99 bezeichnen Betriebssystemfehler. Eine Zusammenfassung der Fehlercodes finden Sie in der Dokumentation des Betriebssystems. Die Funktion SysErrorMessage gibt den beschreibenden Text für Betriebssystemfehler zurück.

Die folgende Tabelle enthält einige typische Betriebssystem-E/A-Fehler.

Fehlercode

Name

Beschreibung

100

Lesefehler auf Laufwerk

Wird von Read bei dem Versuch gemeldet, den Lesevorgang für eine Textdatei nach dem Dateiende fortzusetzen.

101

Schreibfehler auf Laufwerk

Wird von CloseFile, Write, WriteIn oder Flush gemeldet, wenn auf dem Laufwerk kein freier Speicherplatz mehr verfügbar ist.

102

Datei nicht zugewiesen

Wird von Reset, Rewrite, Append, Rename und Erase gemeldet, wenn der Dateivariable kein Name zugewiesen wurde (durch einen Aufruf von Assign oder AssignFile).

103

Datei nicht geöffnet

Wird von CloseFile, Read Write, Seek, Eof, FilePos, FileSize, Flush, BlockRead oder BlockWrite gemeldet, wenn die Datei nicht geöffnet ist.

104

Datei nicht für Eingabe geöffnet

Wird von Read, Readln, Eof, Eoln, SeekEof oder SeekEoln gemeldet, wenn die Textdatei nicht für die Eingabe geöffnet ist.

105

Datei nicht für Ausgabe geöffnet

Wird von Write oder Writeln für eine Textdatei gemeldet, wenn Sie keine Konsolenanwendung erzeugen.

106

Ungültiges Zahlenformat

Wird von Read oder Readln gemeldet, wenn ein aus einer Textdatei gelesener numerischer Wert nicht das richtige Zahlenformat hat.

Tipp: Wenn Sie bei der Entwicklung von GUI-Anwendungen Konsolen-E/A bereitstellen müssen, dann müssen Sie zur Vermeidung des Fehlers 105 Datei nicht für Ausgabe geöffnet die Methode AllocConsole verwenden. Rufen Sie nach dem Ende des Codeblocks mit der Konsolen-E/A FreeConsole auf.

 begin
   AllocConsole;
   Writeln('Console I/O is now enabled.');
   { code block }
   FreeConsole;
 end;
 {
   AllocConsole();
   printf("Console I/O is now enabled.\n");
   /* code block */
   FreeConsole();
 }

Siehe auch

Codebeispiele