php错误控制运算符@
2016-09-19 16:03
148 查看
PHP支持一个错误控制运算符:@。当将其放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉。
如果用set_error_handle()设定了自定义的错误处理函数,仍然会被调用,但是此错误处理函数可以(并且也应该)调用 error_reporting(),而该函数在出错语句前有 @ 时将返回 0。
如果激活了track_errors特性,表达式所产生的任何错误信息都被存放在变量$php_errormsg中。此变量在每次出错时都会被覆盖,所以如果想用它的话就要尽早检查。
Note: @ 运算符只对表达式有效。对新手来说一个简单的规则就是:如果能从某处得到值,就能在它前面加上 @ 运算符。例如,可以把它放在变量,函数和include 调用,常量,等等之前。不能把它放在函数或类的定义之前,也不能用于条件结构例如if和foreach等。
如果用set_error_handle()设定了自定义的错误处理函数,仍然会被调用,但是此错误处理函数可以(并且也应该)调用 error_reporting(),而该函数在出错语句前有 @ 时将返回 0。
如果激活了track_errors特性,表达式所产生的任何错误信息都被存放在变量$php_errormsg中。此变量在每次出错时都会被覆盖,所以如果想用它的话就要尽早检查。
<?php /** * Created by PhpStorm. * User: 58 * Date: 2016/9/19 * Time: 15:56 */ $my_file = @file('hello.txt') or die('sssssssss'); $value = @ $cache[$key];
Note: @ 运算符只对表达式有效。对新手来说一个简单的规则就是:如果能从某处得到值,就能在它前面加上 @ 运算符。例如,可以把它放在变量,函数和include 调用,常量,等等之前。不能把它放在函数或类的定义之前,也不能用于条件结构例如if和foreach等。
相关文章推荐
- PHP文件操作
- ThinkPHP 微信公众号接口 认证
- PHP打印全部
- php数组操作,js数组操作
- thinkphp5 环境变量配置
- laravel框架ajax编写格式
- PHP 四种基本排序算法的代码实现
- 10件在PHP7中不要做的事情
- php中array_merge()与$arr1+$arr2两个数组直接相加的区别
- php的配置
- php中is_scalar判断是否是标量
- yii打印sql语句
- Php编译安装
- php--快捷方式的实现
- PHP String字符串类函数str_replace
- Thinkphp中的A 函数(Thinkphp3.2.3版本)
- Zend Studio12.0如何配置连接远程项目?
- php底层原理之PHP变量的存储
- JS加PHP动态倒计时(定时器)
- laravel 注意事项