Hello Dan, Sunday, October 12, 2003, 7:34:59 AM, you wrote:
> This behaviour isn't a show stopper. It's just the inconsistency that > bugs me. yes! > I'm left wondering what other ways the engine might handle my exceptions > that > I might not expect, like... > try { > function __autoload($x) { throw new Exception(); } > $foo = new bar(); > } > catch (Exception $e) { print('caught exception'); } > The exception will never be caught in this case (resulting in the same previous > error). A PHP engine developer might look at that and say something like "oh, of > course it doesn't. The engine removes the special __autoload function from the > main try/catch block at compile time." Now try explaining why it would do this to > your average PHP user. ;) Yes, that's a valid point that goes to you. But this can be delayed until after PHP 5 release right? > Luckily, using a try/catch block *inside* the __autoload function works fine. Its > just > not at all able to pass the exception on up the chain. Meaning people need to keep > in mind that any and all objects/methods/etc. which could throw exceptions that may > have been called from inside their __autoload function will only get those exceptions > passed as high as the autoloader for handling instead of their main code. > If this is intended behaviour, then this is just a recommendation for a note in the > future documentation of __autoload. As said lat's delay and document it. Maybe someone finds an appropriate nice solution later. Feel free to make this a documnetation bug. -- Best regards, Marcus mailto:[EMAIL PROTECTED] -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php