php try 为什么不捕获异常

<?phptry{@$dfg++;}catch(Exception$e){echo8;}?>根本不显示8,把@一去掉就报错那还不如用if语句或函数javascript都能... <?php
try{
@$dfg++;
}catch(Exception $e){
echo 8;
}
?>
根本不显示8,把@一去掉就报错
那还不如用if语句或函数
javascript都能捕获程序错误
展开
 我来答
邪魔剑圣
推荐于2017-11-23 · TA获得超过147个赞
知道小有建树答主
回答量:99
采纳率:0%
帮助的人:121万
展开全部
你好象没理解catch(Exception $e)的含义
它捕获的是抛出(throw)的异常,而不是通常意义上的程序错误
你说的把@去掉,单纯的$dfg++是没有错误的,你说的错误其实只是一个未定义变量类型的Notice
具体捕获异常的使用方法你可以去翻一下手册,这里我给你一个简单的例子
function sum($a, $b) {
$sum = $a + $b;
if ($sum == 1) {
throw new Exception("当总和为1时抛出一个错误!");
}
return $sum;
}
try {
sum(0, 1);
} catch (Exception $e) {
echo 8;
}
brisrb
2011-01-16 · TA获得超过1417个赞
知道小有建树答主
回答量:1041
采纳率:0%
帮助的人:252万
展开全部
试试把error_reporting(0);这句放在php文件的开头
至于@
则是在函数前加 如
while ($row = @mysql_fetch_assoc($qrt))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ichigo3836
2011-01-15 · TA获得超过443个赞
知道小有建树答主
回答量:663
采纳率:85%
帮助的人:333万
展开全部
你先搞清楚Error、Warning、Notice和Exception的区别
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式