Meine Meinung: viel zu kompliziert gedacht.
Exceptions steigen ja den Aufrufstack hoch wie Bläschen in einem Sektglass.
Nur wenn sie nicht abgefangen werden, dann werden sie ganz oben auf Applikationsebene als sichtbare Fehlermeldung angezeigt.
Nicht immer. Als Beispiel: ein
XML-RPC-Server versucht was in der
DB zu machen und kriegt jetzt irgendeine
Exception. Diese
Exception muss ich abfangen, weil ich keine Infos ueber das System nach aussen dringen lassen kann (bei Web-Applikationen ist das doch ziemlich wichtig). Deshalb fange ich z.B. eine Zend_Db_Exception ab und werfe eine Zend_XmlRpc_Server_Exception, welche nur eine "Oops, something failed"-Meldung beinhaltet die fuer die Aussenwelt "safe" ist. Diese wiederum wird von der Server-Klasse abgefangen, in eine
XML-RPC-Fault umgewandelt und auf den Draht gelegt. So, jetzt gibt es aber keine unbehandelte
Exception. Also muss ich das Zeug irgendwie selbst loggen, es gibt aber doch was log-wuerdiges. Ganz so pauschal kann man es im Normalfall nicht behandeln.
Greetz
alcaeus