2015-08-16 84 views
-1

Im通过eval执行php代码列表,如果在代码中有任何错误,我想要显示此代码有致命的错误/解析错误。有没有办法在PHP中捕捉eval致命错误?

有没有什么办法让自定义消息为致命错误或任何其他错误

我的代码是这样的:

$output = []; 
foreach($codes as $key => $res) { 

    if(eval($res['code'])) { 
     eval($res['code']); 
     $output[$key] = $result; 
    } else { 
     $output[$key] = "Fatal error in code";    
    }  
} 
var_dump($output); 
+0

也许有帮助? [使用register_shutdown_function()处理PHP中的致命错误](http://stackoverflow.com/questions/4410632/handle-fatal-errors-in-php-using-register-shutdown-function)。其实,非常有用。这对调试触发致命错误的“尴尬”问题非常有用。 –

回答

0

尝试改变你的代码,使用的try-catch

$output = []; 
try { 
foreach($codes as $key => $res) { 
    if(eval($res['code'])) { 
    eval($res['code']); 
    $output[$key] = $result; 
} else { 
    $output[$key] = "Fatal error in code";    
} 
}  
} catch (Exception $ex) { 
var_dump($ex); 

} 
+0

它给出致命错误而不是自定义消息 – sas

+1

您无法捕捉致命错误。这些都不是例外。 – Dekel

相关问题