本文目录一览:
- 1、php中@符号是什么意思?
- 2、如何有效的屏蔽掉PHP警告和错误提示
- 3、php的错误控制运算符是不是相当于java的异常
- 4、php中 错误抑制运算符 怎么显示变量未定义错误
- 5、如何让php程序不报错
- 6、怎样设置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。
或者在语句前使用@屏蔽错误。
很全面,原创,求采纳。