#31542 [Bgs->Opn]: eval() terminates PHP on fatal error instead of returning false

From: Date: Fri, 14 Jan 2005 04:31:47 +0000
Subject: #31542 [Bgs->Opn]: eval() terminates PHP on fatal error instead of returning false
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-72107@lists.php.net to get a copy of this message
ID: 31542 User updated by: jcmailtrap-php at yahoo dot ca Reported By: jcmailtrap-php at yahoo dot ca -Status: Bogus +Status: Open Bug Type: Unknown/Other Function Operating System: RHEL3 PHP Version: 5.0.3 New Comment: Well, in eval()'s manual page, it is stated: In case of a fatal error in the evaluated code, eval() returns FALSE. Obviously eval() did not return FALSE in this case because the script exited. Previous Comments: ------------------------------------------------------------------------ [2005-01-14 05:26:58] sniper@php.net Fatal errors are...tadaa..FATAL! As such -> exit. No bug here. ------------------------------------------------------------------------ [2005-01-14 05:19:51] jed@php.net Don't all E_ERRORs do this? ------------------------------------------------------------------------ [2005-01-13 18:14:34] jcmailtrap-php at yahoo dot ca Description: ------------ When a fatal error is caused by attempting to call a method on an non-object or non-existing variable, eval() throws a fatal error which terminates the script instead of returning false as stated in the doc. Reproduce code: --------------- $result = eval('$nosuchobject->method();'); echo "done eval\n"; if ($result===false) { echo "error correctly returned\n"; } Expected result: ---------------- Notice: Undefined variable: nosuchobject Fatal error: Call to a member function method() on a non-object done eval error correctly returned Actual result: -------------- Notice: Undefined variable: nosuchobject Fatal error: Call to a member function method() on a non-object ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=31542&edit=1

« previous php.bugs (#72107) next »