php try 为什么不捕获异常
<?phptry{@$dfg++;}catch(Exception$e){echo8;}?>根本不显示8,把@一去掉就报错那还不如用if语句或函数javascript都能...
<?php
try{
@$dfg++;
}catch(Exception $e){
echo 8;
}
?>
根本不显示8,把@一去掉就报错
那还不如用if语句或函数
javascript都能捕获程序错误 展开
try{
@$dfg++;
}catch(Exception $e){
echo 8;
}
?>
根本不显示8,把@一去掉就报错
那还不如用if语句或函数
javascript都能捕获程序错误 展开
3个回答
展开全部
你好象没理解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;
}
它捕获的是抛出(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;
}
展开全部
试试把error_reporting(0);这句放在php文件的开头
至于@
则是在函数前加 如
while ($row = @mysql_fetch_assoc($qrt))
至于@
则是在函数前加 如
while ($row = @mysql_fetch_assoc($qrt))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你先搞清楚Error、Warning、Notice和Exception的区别
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询