Re: Exception / trace member

From: Date: Fri, 23 Jan 2004 09:54:53 +0000
Subject: Re: Exception / trace member
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-7290@lists.php.net to get a copy of this message
Hello Marcus, Hum... you fixed the issue but not really in the way I expected it. Now my code does not work... My message was not only to report a bug, but to ask *not* to fix it as expected. Particularly to put the "trace" member as protected, (or "getTrace()" as virtual and not final). Remember my code: <? class SystemException extends Exception { function __construct($message, $code) { parent::__construct($message, $code); // Hide trace of handler() call. array_splice($this->trace, 0, 1); $this->file = $this->trace[0]['file']; $this->line = $this->trace[0]['line']; } static function handler($code, $message) { throw new SystemException($message, $code); } } set_error_handler(array('SystemException', 'handler')); ?> Indeed, I'm no more able to modify the trace, so if I want to report the real file and line (I mean the interresting ones, so those in trace[1]), they won't be coherent with the back trace. Why could you accept a derived class to modify "file" and "line" members, and not the "trace" one? My original message was also to limit the use of private and final modifiers, as they go against inheritance. Regards, Stephane

« previous php.internals (#7290) next »