|
IF ~UnixFiles.Open(in, pathname, UnixFiles.read, Streams.onebuf, NIL) THEN Write.StringS(Streams.stderr, pathname); Write.StringS(Streams.stderr, ": cannot be "); Write.StringS(Streams.stderr, "opened for "); Write.LineS(Streams.stderr, "reading"); Process.Exit(Process.indicateFailure); END; |
Fehler sollten nicht nach Streams.stdout
geschrieben werden, sondern nach Streams.stderr,
damit sich Fehlermeldungen nicht unbemerkt in die
normale Ausgabe eines Programms mischen.
| |
Dies ist insbesondere relevant, wenn die Standard-Ausgabe
in eine Datei umgelenkt wird.
| |
Wenn etwas schief geht, sollte das Programm sich so
verabschieden, daß die Umgebung weiß, daß es nicht
erfolgreich war. Process.Exit terminiert das Programm
mit dem angegebenen Exit-Code. 0 bedeutet hier Erfolg und
jedes andere Resultat Mißerfolg.
|
dublin$ Concatenate /unbekannte/datei >/tmp/out /unbekannte/datei: cannot be opened for reading dublin$ |
Copyright © 2004, 2005 Andreas Borchert, in HTML konvertiert am 18.02.2005 |