您的位置:

php错误抑制,PHP错误抑制符什么时候用

本文目录一览:

php中@符号是什么意思?

你好:\x0d\x0a@在PHP中叫错误抑制符,也就是用来屏蔽错误的。\x0d\x0a@之后的表达式如果出错误,是不提示错误信息的,如果不加@出错之后一般是会在浏览器中显示错误信息,加上之后浏览器中就不显示错误信息了。\x0d\x0a你可以尝试下,看看加与不加的区别。

如何有效的屏蔽掉PHP警告和错误提示

方法一、在有可能出错的函数前加@,然后or die("")

如:

@mysql_connect(...) or die("Database Connect Error")

屏蔽PHP错误提示方法二、编辑php.ini ,查找"display_errors =" ,将“=”后面的值改为"off。

屏蔽PHP错误提示方法三、在php脚本前加error_reporting(0),屏蔽所有错误提示。

error_reporting

配置错误信息回报的等级。

语法: int error_reporting(int [level]);

返回值: 整数

函数种类: PHP 系统功能

屏蔽PHP错误提示函数内容说明

本函数用来配置错误信息回报的等级,参数 level 是一个整数的位遮罩 (bitmask),见下表。

遮罩值 表示名称

E_ERROR

E_WARNING

E_PARSE

E_NOTICE

E_CORE_ERROR

E_CORE_WARNING

E_NOTICE 表示一般情形不记录,只有程序有错误情形时才用到,例如企图存取一个不存在的变量,或是呼叫 stat() 函数检视不存在的文件。

E_WARNING 通常都会显示出来,但不会中断程序的执行。这对除错很有效。例如:用有问题的正则表达式呼叫 ereg()。

E_ERROR 通常会显示出来,亦会中断程序执行。意即用这个遮罩无法追查到内存配置或其它的错误。

E_PARSE 从语法中解析错误。

E_CORE_ERROR 类似 E_ERROR,但不包括 PHP 核心造成的错误。

E_CORE_WARNING 类似 E_WARNING,但不包括 PHP 核心错误警告。

error_reporting( 7 ) = error_reporting( 1+2+4) = error_reporting(E_ERROR | E_WARING | E_PARSE)

以上就是屏蔽PHP错误提示的相关实现方法。

如何有效实现

php的错误控制运算符是不是相当于java的异常

不是,@是错误抑制符号,本质是在生成的opcode中增加begin_silence将错误屏蔽,

php的异常处理也是try throw catch,php有个Exception基类。

//自定义的异常类,继承了PHP的异常基类Exception

class MyException extends Exception {

    function getInfo() {

        return '自定义错误信息';

    }

}

try {

    //使用异常的函数应该位于 "try"  代码块内。如果没有触发异常,则代码将照常继续执行。但是如果异常被触发,会抛出一个异常。

    throw new MyException('error');//这里规定如何触发异常。注意:每一个 "throw" 必须对应至少一个 "catch",当然可以对应多个"catch"

} catch(Exception $e) {//"catch" 代码块会捕获异常,并创建一个包含异常信息的对象

    echo $e-getInfo();//获取自定义的异常信息

    echo $e-getMessage();//获取继承自基类的getMessage信息

}

php中 错误抑制运算符 怎么显示变量未定义错误

梦行回答PHP 支持一个错误控制运算符:@。当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉。

如果激活了 track_errors 特性,表达式所产生的任何错误信息都被存放在变量 $php_errormsg 中。此变量在每次出错时都会被覆盖,所以如果想用它的话就要尽早检查。

当将@放在一个PHP表达式之前时,这个表达式可能产生的任何警告信息都将被忽略掉。但是使用 错误控制运算符@是需要注意,它只对表达式有效。说得容易懂一点就是:如果从一个地方得到了一个值,我们就可以将@话在它的前面。比方说,把@话在变量、常量和函数调用的前面。值得大家注意的是,不能把这个错误控制运算符@放在函数或者是类的定义之前,也不可以用在条件结构等。

如何让php程序不报错

让PHP不报错的方法是修改PHP.INI,里面有下面一行:

display_errors

=

On

修改为:

display_errors

=

Off

不过我还是建议你修改程序,不要出错,否则以后程序遇到问题就麻烦了。

在错误的语句前加一个“@”!屏蔽错误!

try{

@file_get_contents('baidu.com');

}catch(Exception

$e){}

try错误,然后不处理

@是抑制错误,放在函数前

怎样设置php不显示错误

在php代码中直接使用:

error_reporting(E_ALL

~E_NOTICE);

可以解决这个问题,小技巧。

或者:ini_set("error_reporting","E_ALL

~E_NOTICE");

或者在php.ini这个配置文件中搜索display_errors

=

on改为off。

或者在语句前使用@屏蔽错误。

很全面,原创,求采纳。