![]() |
Pascal:ExceptionHandling bei Dateiarbeit
Hi,
stehe vor folgendem Problem: Ich muss in Pascal eine Datei öffnen die durch den User bestimmt wird. Dabei kann es ja sein das die Datei bereits geöffnet ist, nicht vorhanden oder so. Gibt es eine Möglichkeit direkt auf die unterschiedlichen Exceptions zu reagieren? Habe mir folgendes Überlegt: assign(f,name);
Delphi-Quellcode:
try
reset(f); EXCEPT writeln('Es ist ein Fehler aufgetreten'); // Wie kann ich hier überprüfen welcher Fehler aufgetreten ist und verhindern // das sich mein Programm bei falsches Eingabe sofort beendet? finally; close(f); Danke im Vorraus P.S: Gibts irgendwo eine Sprachreferenz für Pascal wo ich solche Dinge wie unterschiedliche Exceptions und so mal nachlesen kann? |
Re: Pascal:ExceptionHandling bei Dateiarbeit
Hallo Lordy,
Fehler bei Dateioperationen musst du mit Hilfe der Schalter {$I-} und {$I+} sowie der Funktion ![]() Greetz alcaeus |
Re: Pascal:ExceptionHandling bei Dateiarbeit
Das hatte ich früher auch mal so:
Delphi-Quellcode:
Das Problem ist, das Programm wird sofort beendet, sobald ein Fehler auftritt, man sieht also nicht, welcher
assign(f,name);
{$I-} reset(f); fehlercode:=ioresult; writeln(fehlercode); close(f); {$I+} end; Fehler aufgetreten ist. Hat da jemand eine Idee? |
Re: Pascal:ExceptionHandling bei Dateiarbeit
dann machst du dir noch ein "ReadLn;" nach dem WriteLn(fehlercode); rein :)
|
Re: Pascal:ExceptionHandling bei Dateiarbeit
Moin!
Delphi-Quellcode:
Ansonsten, wenn man es unter Delphi nutzt, kann man dem Nutzer dank Windows auch eine Klartextmeldung präsentieren:
assign(f,name);
{$I-} reset(f); {$I+} fehlercode:=ioresult; If ( Fehlercode <> 0 ) Then Begin writeln(fehlercode); ReadLn; End; If ( fehlercode = 0 ) Then close(f); end;
Delphi-Quellcode:
MfG
assign(f,name);
{$I-} reset(f); {$I+} fehlercode:=ioresult; If ( Fehlercode <> 0 ) Then ShowMessage( SysErrorMessage( Fehlercode ) ); If ( fehlercode = 0 ) Then close(f); Muetze1 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz