Thread rostis MVC-Framework für Perl und PHP (59 answers)
Opened by rosti at 2013-02-07 19:30

murphy
 2013-02-07 22:50
#165615 #165615
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
$@ existiert nur einmal pro Perlinterpreterinstanz und es kann maximal eine laufende Perlinterpreterinstanz pro Thread geben, folglich ist $@ vom Perlcode aus gesehen threadlokal und es ist unmöglich, dass sich der Wert der Variablen zwischen eval und if ($@) ... verändert, es sei denn man schreibt selber Code dazwischen der das absichtlich tut.

Perls Fehlerbehandlungsstrategie ist zwar vielleicht nicht die schönste, aber es gibt diese eine Strategie, die überall konsistent benutzt wird und sie hat ein klar definiertes Verhalten.

Bei PHP hingegen gibt es mindestens drei Typen von Fehlerbehandlungssystemen, die unsauber miteinander interagieren, natürlich verwendet jede Bibliotheksfunktion irgendein zufälliges System, ein Typ von Fehlern kann überhaupt nicht abgefangen werden, ein Typ von Fehlern erlaubt nur globale Behandlungscallbacks und wegen der Interaktion der drei Systeme ist nicht garantiert dass für den letzten, javaexceptionartigen Typ von Fehlern die Behandlungssemantik wie gewünscht funktioniert. Wer mir erzählen will, diese Situation sei besser als bei Perl, den kann ich irgendwie nicht ganz ernst nehmen ;-)
When C++ is your hammer, every problem looks like your thumb.

View full thread rostis MVC-Framework für Perl und PHP