ord*_*n09 4 php error-handling syntax-error
我正在尝试使用php的eval函数.但我一直在处理解析错误.喜欢考虑我是否有像1 ..或1 ++这样的边缘情况如果给我解析错误:语法错误,.....
有谁知道如何处理语法错误或如何绕过错误消息?我想提供更好的错误消息.
还可以将错误消息存储到变量中吗?
TIA
yce*_*uto 15
从手册
从PHP 7开始,如果评估的代码中存在解析错误,则
eval()抛出ParseError异常.在PHP 7之前,在这种情况下eval()返回FALSE并继续执行以下代码.这是不可能赶上解析错误的eval()使用set_error_handler().
而是使用这个:
<?php
try {
eval('will cause error');
} catch (ParseError $e) {
echo 'Caught exception: '.$e->getMessage()."\n";
}
Run Code Online (Sandbox Code Playgroud)
Nan*_*mar 12
$response = @eval($string);
if (error_get_last()){
echo 'Show your custom error message';
//Or you can
print_r(error_get_last());
}
Run Code Online (Sandbox Code Playgroud)