Thread SpeedyCGI & Try::Tiny catch
(4 answers)
Opened by roooot at 2010-12-14 17:56
Hi Leute, ich benutze SpeedyCGI für meine Scripte und Try::Tiny fürs Error Handlung.
Beispiel: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 #!/usr/bin/speedy -w; use strict; try { die 'aaaargh'; } catch { print 'error' }; Zeigt mir nichts an, manchmal aber sogar einen 500er. Verwende ich statt SpeedyCGI nun Perl direkt funktioniert es wie gewünscht. Hat das mal jemand von euch gehabt? Webserver ist lighty 1.4.28. laut SpeedyCGI Doku passiert ja folgendes bei nem Request: QuoteKomischerweise wird absolut gar nichts mehr ausgegeben. Der SpeedyCGI Prozess existiert allerdings weiterhin und gibt für andere Aufrufe (die über einen Dispatcher Subs aufrufen) auch noch was aus (die PID bleibt für alle Aufrufe die selbe, es ist also definitiv der gleiche Prozess). Ich verstehe das nicht so ganz, wieso er nichts mehr ausgibt, wenn in der try Anweisung, die Daten an den Browser sendet ein 'die' Auftritt, im catch Block allerdings auch eine print-Anweisung gegeben ist. Wenn in anderen try .. catch Blöcken zuvor (die kein print haben) ein Fehler auftritt, funktioniert es wie gewünscht. Hat jemand das Problem auch schonmal gehabt? //nachtrag: ist in dem catch Block zum try Block der etwas printed ein Aufruf auf eine Sub, die ebenfalls etwas printed, wird ausgegeben. Sehr merkwürdiges Verhalten.. Last edited: 2010-12-14 18:02:05 +0100 (CET) Viele Grüße :)
|