php错误抑制操作符@的用法解析

CYBEREXP2008 2009-08-12 10:56:23
如下:

<?php

$a = @(50/0);

@mysql_query($sql);

@mkdir('/usr/1/2 ');

?>

这和异常处理有什么区别???
...全文
482 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
CYBEREXP2008 2009-08-12
  • 打赏
  • 举报
回复
多谢楼上的
fenyao 2009-08-12
  • 打赏
  • 举报
回复
高手!
程序猿之殇 2009-08-12
  • 打赏
  • 举报
回复
@屏蔽错误输出
异常处理,使用try catch捕获异常,只有当函数或者表达式抛出异常的时候,才能处理.
以$a = @(50/0)为例.

function divide($a, $b)
{
if($b == 0)
{
throw new Exception("Division by zero!");
}
return $a/$b;
}
try{
divide(50,0);
}
catch(Exception $e)
{
echo $e->getMessage();
}

foolbirdflyfirst 2009-08-12
  • 打赏
  • 举报
回复
@(50/0);
相当于

$es = ini_get('error_reporting');
error_reporting(0);//屏蔽出错信息
(50/0);
error_reporting($es);//恢复设置

异常处理最重要是要捕获到异常,然后做一些特殊处理.而@只是屏蔽掉错误信息.
hzbigdog 2009-08-12
  • 打赏
  • 举报
回复
@只是不让系统报错吧。
然后通过后面去获取赋值出来的状态,判断是否出错

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧