At 02:33 PM 2/12/2004 +0000, Stephane Drouard wrote:
== Quote from Andi Gutmans ([EMAIL PROTECTED])'s article
> I rolled a preliminary beta 4 package just to make sure nothing is
> seriously broken. You can still commit fixes in the next few hours and if I
> don't hear of any serious show stoppers, I'll re-bundle and release beta 4
> later today.

Andi,

Not a big issue, but a different behaviour compared with beta3 and some following snapshots.

<?
class Test {
  function __set($n, $v) {
    throw new Exception('error');
  }
}

function f() {
  $o = new Test();
  $o->foo = 5;
}

f();
?>

Reports:
Fatal error: Uncaught exception 'exception' with message 'error' in /var/www/html/set.php:5
Stack trace:
#0 /var/www/html/set.php(11): Test->__set()
#1 /var/www/html/set.php(11): f()
#2 /var/www/html/set.php(14): f()
#3 {main}
thrown in /var/www/html/set.php on line 5


There is an additional #1 in the stack trace.
When executed outside the context of a function, the reported function is "unknown()".


This also happens with __get, __toString, __call and __clone. But not with __construct and __destruct.

This is a result of the exceptions having been broken in B3 and being triggered too late (thus, not finding f() twice on the stack).
We will need to investigate it before RC1.


Andi

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



Reply via email to