Thread Programm-Abbruch verhindern: Kei nAbbruch wenn open-funktion fehler (14 answers)
Opened by rommi at 2007-03-17 12:39

ptk
 2007-03-18 19:05
#75117 #75117
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=betterworld,18.03.2007, 15:44][quote=topeg,17.03.2007, 17:55]
Code (perl): (dl )
$SIG{__DIE__}=sub{ warn "Fehler: $_[0]" };
[/quote]
Mit solchen DIE-Handlern sollte man immer sparsam umgehen, denn damit kann die Funktion von externen Modulen, die ihrerseits ein bisschen Exception-Handling machen, gestoert werden. eval{} ist da meist eine bessere Loesung.[/quote]
Zumindest sollte man im eigenen Code
Code: (dl )
local $SIG{__DIE__} = ...
schreiben.

Externe Module können sich selbst vor Problemen schützen, indem sie den __DIE__-Sighandler in evals explizit ausschalten. Das Konstrukt
Code: (dl )
eval {local $SIG{__DIE__}; ... }
findet man beispielsweise in vielen Tk-Modulen.

View full thread Programm-Abbruch verhindern: Kei nAbbruch wenn open-funktion fehler