Mailinglisten-Archive |
Hallo Friedhelm, Am Dienstag, 24. Oktober 2006 22:26 schrieb Friedhelm Betz: > Lutz Zetzsche wrote: > > Im Nachgang unserer gestrigen Diskussion habe ich übrigens den > > Eindruck gewonnen, daß die Seite im Online-Handbuch, die Exceptions > > erklärt, dies nicht wirklich gut tut. Die Beispiele sind für das > > Handbuch ungewöhnlich unvollständig und schlecht. > > bugs.php.net > Patches sind immer willkommen ;-) das ist eigentlich kein Bug. :-) Außerdem habe ich gerade in den "User contributed Notes" einen Beitrag gefunden, der genau das anspricht, was mir fehlte: http://www.php.net/manual/en/language.exceptions.php "06-May-2005 07:15 PHP5 supports exception throwing inside a function, and catching it outside that function call. There is no mention of this in documentation but it works just fine, as tested by this sample code: [...] Further tests show that nested functions with exceptions, methods throwing exceptions, etc all work the same way. This is like declaring all classes (or methods) in Java as "class ClassName throws Exception". While I consider this a good thing, you should be aware that any thrown exception will propagate up your stack until it is either caught or runs out of stack." In der Doku sind throw und try/catch eben leider immer zusammen verwendet, obwohl sie eigentlich an völig separaten Stellen im Code auftreten können und der Fehler zwar auch schon an Ort und Stelle behandelt, aber eben auch zusätzlich oder ausschließlich woanders abgefangen werden kann. Das Fehlen dieser Informationen ist vermutlich auch das, was diese Diskussion ursprünglich ausgelöst hat. Ich glaube auch, daß viele, die bisher nie oder wenig mit Exceptions zu tun hatten und sich nur auf diese Seite stützen, Exceptions in der Folge auch gar nicht richtig nutzen (können), was eigentlich schade ist. Macht es Sinn, den Hinweis noch zu geben, wenn es schon in den "User Contributed Notes" steht? Ich meine, ich fände es wichtig, daß es in der Doku selbst steht, aber vielleicht werden ja vom Dokumentationsteam automatisch solch wichtiges Notes in die eigentliche Doku übernommen. Weißt Du was darüber, Friedhelm? Nicht, daß ich dann jemanden umsonst aufschrecke... :-) Viele Grüße Lutz
php::bar PHP Wiki - Listenarchive