Maarten Balliauw wrote:
Here's the thing: I'm trying to do some dynamic code compilation within PHP using eval(). The code I'm trying to compile raises an E_ERROR (Fatal).

Here's a simple example:

$code = '  $returnValue = 12*A+;  '; // Clearly incorrect code :-)
$returnValue = 0;


Now, I'd like to catch the error made by eval:

// ...
try {
} catch (Exception $ex) {
// ...

Problem persists: a fatal error occurs.
Using set_error_handler() and set_exception_handler() is not working either...

Is there any way to gracefully catch this error?


If you read the manual (RTFM) at you'll notice the following:
If there is a parse error in the evaluated code, eval() returns FALSE and execution of the following code continues normally. It is not possible to catch a parse error in eval() using set_error_handler().

Note: In case of a fatal error in the evaluated code, the whole script exits.

So, no.

PHP General Mailing List (
To unsubscribe, visit:

Reply via email to