问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php 如何捕获类似于Parse error: syntax error, unexpected T_CONSTA...

发布网友 发布时间:1天前

我来回答

3个回答

热心网友 时间:1天前

要先理解一个概念:
你要用PHP显示信息,你得保证你这个PHP能正常运行,你这种语法错误的,PHP解释器都无法运行,怎么给你显示友好的自定义错误。。。。。
不过如果是运行时错误你可以用如下办法:
<?php
error_reporting(0);
header( 'Content-type:text/html;charset=utf-8' );
//错误记录
function error_notice($err_no, $err_str, $err_file, $err_line)
{
echo '文件' . $err_file . '第' . $err_line . '行发生错误(' . $err_no . '):' . $err_str;
}
set_error_handler( "error_notice", ~E_NOTICE & ~E_STRICT );
foreach( $arr as $a ){}

?>

热心网友 时间:1天前

waring 可以
error 不行

function myErrorHandler($errno, $errstr, $errfile, $errline)
{
if (!(error_reporting() & $errno)) {
// This error code is not included in error_reporting
return;
}

switch ($errno) {
case E_USER_ERROR:
echo "<b>My ERROR</b> [$errno] $errstr<br />\n";
echo " Fatal error on line $errline in file $errfile";
echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
echo "Aborting...<br />\n";
exit(1);
break;

case E_USER_WARNING:
echo "<b>My WARNING</b> [$errno] $errstr<br />\n";
break;

case E_USER_NOTICE:
echo "<b>My NOTICE</b> [$errno] $errstr<br />\n";
break;

default:
echo "Unknown error type: [$errno] $errstr<br />\n";
break;
}

/* Don't execute PHP internal error handler */
return true;
}

// set to the user defined error handler
$old_error_handler = set_error_handler("myErrorHandler");

echo $a;

热心网友 时间:1天前

<?php
// error handler function
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
if (!(error_reporting() & $errno)) {
// This error code is not included in error_reporting
return;
}
switch ($errno) {
case E_USER_ERROR:
echo "<b>My ERROR</b> [$errno] $errstr<br />\n";
echo " Fatal error on line $errline in file $errfile";
echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
echo "Aborting...<br />\n";
exit(1);
break;
case E_USER_WARNING:
echo "<b>My WARNING</b> [$errno] $errstr<br />\n";
break;
case E_USER_NOTICE:
echo "<b>My NOTICE</b> [$errno] $errstr<br />\n";
break;
default:
echo "Unknown error type: [$errno] $errstr<br />\n";
break;
}
/* Don't execute PHP internal error handler */
return true;
}
// function to test the error handling
function scale_by_log($vect, $scale)
{
if (!is_numeric($scale) || $scale <= 0) {
trigger_error("log(x) for x <= 0 is undefined, you used: scale = $scale", E_USER_ERROR);
}
if (!is_array($vect)) {
trigger_error("Incorrect input vector, array of values expected", E_USER_WARNING);
return null;
}
$temp = array();
foreach($vect as $pos => $value) {
if (!is_numeric($value)) {
trigger_error("Value at position $pos is not a number, using 0 (zero)", E_USER_NOTICE);
$value = 0;
}
$temp[$pos] = log($scale) * $value;
}
return $temp;
}
// set to the user defined error handler
$old_error_handler = set_error_handler("myErrorHandler");
// trigger some errors, first define a mixed array with a non-numeric item
echo "vector a\n";
$a = array(2, 3, "foo", 5.5, 43.3, 21.11);
print_r($a);
// now generate second array
echo "----\nvector b - a notice (b = log(PI) * a)\n";
/* Value at position $pos is not a number, using 0 (zero) */
$b = scale_by_log($a, M_PI);
print_r($b);
// this is trouble, we pass a string instead of an array
echo "----\nvector c - a warning\n";
/* Incorrect input vector, array of values expected */
$c = scale_by_log("not array", 2.3);
var_dump($c); // NULL
// this is a critical error, log of zero or negative number is undefined
echo "----\nvector d - fatal error\n";
/* log(x) for x <= 0 is undefined, you used: scale = $scale" */
$d = scale_by_log($a, -2.5);
var_dump($d); // Never reached
?>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
"多难兴邦"这个词,让我们懂得了什么? uc怎么进入阅读模式 进入阅读模式方法介绍 uc怎么进入小说阅读模式 uc浏览器设置阅读模式-uc浏览器设置阅读模式方法 uc电脑阅读模式怎么设置电脑上UC浏览器的阅读模式怎么打开 微信怎么判断对方把你拉黑并且删除了,还是只是拉黑了? 公司诉讼由哪个法院管辖?公司诉讼管辖确定的理论依据? 笔记本电脑开机无法进入系统笔记本电脑开机后无法进入系统 从深圳到乌镇玩三天,花销最少是多少?越少越好,如果有个计划就更好乐 马上快过年放假了,第一次去见岳父,送茅台好还是五粮液好? 挂烫机如何熨西装 戗驳领西装怎么熨烫 西装前片怎么推拉拔烫 西装能不能拿去烫 西装怎么烫才笔挺 西装要怎么烫 熨烫西服的技巧有哪些? 笔记本电脑后台运行哪些可以关电脑后台进程打开太多了请教大佬们哪些可... 请问电脑开机进程哪些是不必要的? 电脑进程太多可以关闭哪些不必要电脑中进程太多请问哪些能关闭_百度知 ... 黑笔芯水弄到白色衣服怎么能洗掉 ...壶底就有斑点,洗不掉,不像是锈,材质有问题?怎么申请退货_百度... 我一直在想,我生活到底是为了什么?家人,我早已失去。朋友,却没有真心的... “其实我一直都想在你身边陪你,不用很长,一辈子就够了”广东话怎么打... 身份证失效一定要本人回老家办理吗 22款手动75轮胎型号 语文B数学C 英语B政治生物地理都是B历史A物理化学都是C体育B综合B能... 政治A 语文A 数学B+ 英语B+ 物理B 化学B+ 历史A+总分是? 中考成绩百分比怎么算 中考优良等级百分比怎么划分 PHP出现如下情况 syntax error, unexpected T_ENCAPSED_AND_WHITES... php错误Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_S... ...unexpected T_CONSTANT_ENCAPSED_STRING in 怎么解决这个错啊_百度... 架空电线故障如何排除 amd锐龙r75700g超频性价比装机方案,要核显性能综合表现超 word2007如何拆分表格 卓能OPUS周边环境怎么样?生活便利吗? 深圳市鹏城运通汽车服务有限公司怎么样? 深圳市鸿创捷机械设备有限公司怎么样? 面试没通过怎么再争取机会 遴选面试如果没过怎么办? 九推没有拿到offer 怎么办? 在当今中国,"有枪就是草头王"这句话还有道理吗??? 有枪就是草头 有枪才是草头 政治统治合法化及其实现途径分析 QQ飞车圣骑士怎能能简单的得到花钱不在乎,最好弄个永久的?做梦都JB开... 游戏超人怎么用 辅助吃鸡让你把把赢 室内通风多久有效 宝缘月子会所的品质如何?