System.SysUtils.EInOutError
Delphi
EInOutError = class(Exception)
C++
class PASCALIMPLEMENTATION EInOutError : public Exception
Inhaltsverzeichnis
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 Delphi 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 Delphi-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
- System.IOResult
- System.Classes.EStreamError
- System.SysUtils.SysErrorMessage
- Ein- und Ausgabefehler
- Unterstützung der Dateieingabe/-ausgabe
- Routinen zur Unterstützung von Festplatten und Verzeichnissen
- Standardroutinen und Eingabe/Ausgabe