On Sun, May 6, 2012 at 8:40 AM, Devis Lucato <de...@lucato.it> wrote:
> Hi,
>
> I stumbled upon this code while working with a variable passed by
> reference, I was wondering if someone could provide some feedback before
> raising a ticket, just in case PHP (5.3.6) is doing what it's supposed to
> do.
> In the code below I would expect "catch" to change the variable as
> an assignment would do, but that doesn't happen.
>
>  function foo(&$exception)
>> {
>>     try {
>>         throw new Exception('foo error');
>>     } catch (Exception $exception) {
>>         var_dump(gettype($exception));
>>         echo $exception->getMessage() . "\n";
>>     }
>> }
>> foo($error);
>> var_dump(gettype($error));
>
>
>
> Expected:
>
>> string(6) "object"
>> foo error
>> string(6) "object"
>
>
> Current result:
>
>> string(6) "object"
>> foo error
>> string(4) "NULL"
>
>
>
> It looks like "catch" is creating a completely new variable in the scope,
> also removing the existing one from it.
Hi,

    could you file a bug at bugs.php.net?  :)

thanks
> I appreciate this is an edge case, if not a bug is it worth adding it to
> http://php.net/manual/en/language.exceptions.php or somewhere under
> http://www.php.net/manual/en/language.references.php ?
>
>
> Thank you!



-- 
Laruence  Xinchen Hui
http://www.laruence.com/

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

Reply via email to