Thread Programm-Abbruch verhindern: Kei nAbbruch wenn open-funktion fehler
(14 answers)
Opened by rommi at 2007-03-17 12:39
Um mich kurz zu fassen. Es macht keinen Sinn ein "die" zu unterdrücken, denn immerhin steht ein "die" im Programm immer dort, wo man das Programm bei einem Fehler beeneden will. Willst du das nicht, benutze dort "warn" oder ähnliches. Das das Programm an der stelle "open(...) or die" abbricht ist von dir offensichtlich vorgesehen, denn sonst hättest du doch "unless(open(...)){warn(...)}else{...}" o.ä. geschrieben.
Aber da Perl auch für solche Fälle etwas bietet kannst du auch die "die" Funktion überschreiben: Code (perl): (dl
)
$SIG{__DIE__}=sub{ warn "Fehler: $_[0]" }; Hier wird nun bei jedem "die" im Code nicht der fehler ausgeben und dann das Programm beendet sondern nur der Fehler ausgeben. Man sollte sich aber gündlich Überlegen was man da macht, denn damit wird das Verhalten von __JEDEM__ "die" im Code verändert! Und Konstrukte wie Code (perl): (dl
)
open(DAT,'<',$datei) or die "Fehler ($!)" <!--EDIT|topeg|1174150911--> |