On 26 Dec 2008, at 01:46, David Grudl wrote:

This code throws *Fatal error*: Method test::__toString() must not throw an exception

class Test1
{
  public function __toString()
  {
      throw new Exception;
  }
}

The same problem causes throwing exceptions in function __autoload.

I think this behavior is against the logic of exceptions. Excellent feature of PHP 5.3 would be to resolve this errors.



This is down to the design of the engine, we perform casting to strings in a lot of different places and it couldn't be guaranteed that the engine would handle any exceptions correctly.

I'm pretty sure there is something in the internals archives about this change.

Scott


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to