#25038 [Bgs->Opn]: call_user_func issues warning if function throws exception

From: Date: Sat, 29 Nov 2003 05:06:15 +0000
Subject: #25038 [Bgs->Opn]: call_user_func issues warning if function throws exception
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-51300@lists.php.net to get a copy of this message
ID: 25038 User updated by: tater at potatoe dot com Reported By: tater at potatoe dot com -Status: Bogus +Status: Open Bug Type: Zend Engine 2 problem Operating System: * -PHP Version: 5CVS-2003-08-11 (dev) +PHP Version: 5CVS-2003-11-28 (dev) New Comment: The Exception class seems to have changed since this bug was logged. So here is a new test case for you. function bar($x='no argument') { throw new Exception("This is an exception from bar({$x})."); } try { bar('first try'); } catch (Exception $e) { print "{$e->getMessage()}\n"; } try { call_user_func('bar','second try'); } catch (Exception $e) { print "{$e->getMessage()}\n"; } Same results. Previous Comments: ------------------------------------------------------------------------ [2003-11-28 20:57:45] sniper@php.net With latest CVS: PHP Fatal error: Cannot access protected property exception::$message in /home/jani/t.php on line 8 ------------------------------------------------------------------------ [2003-08-11 06:35:02] tater at potatoe dot com Description: ------------ Throwing an exception from a function called by call_user_func() causes a warning to be issued, saying it was unable to call the function. An odd side note: if I set up my own error handler, it does not receive this warning. Kind of an inadvertant workaround for now... Reproduce code: --------------- function bar($x='no argument') { throw new Exception("This is an exception from bar({$x})."); } try { bar('first try'); } catch (Exception $e) { print "{$e->message}\n"; } try { call_user_func('bar','second try'); } catch (Exception $e) { print "{$e->message}\n"; } Expected result: ---------------- This is an exception from bar(first try). This is an exception from bar(second try). Actual result: -------------- This is an exception from bar(first try). Warning: call_user_func(bar): Unable to call bar(second try) in /my/pathname/test.php on line 8 This is an exception from bar(second try). ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=25038&edit=1

« previous php.bugs (#51300) next »