PHP 中的自定义函数如何实现带 @时不抛出错误?

WBOY
发布: 2016-09-19 09:16:37
原创
943 人浏览过

在一些 PHP 内置函数(例如mkdir)中,在前面添加 @可以屏蔽该函数抛出的错误

那么自定义函数要如何实现这点呢?

我试了下throw new Exceptiontrigger_error都无法被@屏蔽

补充说明:

是这样的,例如我想写一个JsonFile::get()方法,当文件不存在时抛个错、路径非法时抛个错、解码失败时抛个错,并返回false

当用户在意错误信息时可以自行捕捉并处理;当不在意错误信息只希望得到文件内容或 false (失败)时,可以
@JsonFile::get()
这样调用

主要也是为了方便嘛。请问如何实现这样的自定义方法(或函数)呢?
或者说我这样的思路不太好?有没有既方便又合理的实现方法呢?

回复内容:

在一些 PHP 内置函数(例如mkdir)中,在前面添加 @可以屏蔽该函数抛出的错误

那么自定义函数要如何实现这点呢?

我试了下throw new Exceptiontrigger_error都无法被@屏蔽

补充说明:

是这样的,例如我想写一个JsonFile::get()方法,当文件不存在时抛个错、路径非法时抛个错、解码失败时抛个错,并返回false

当用户在意错误信息时可以自行捕捉并处理;当不在意错误信息只希望得到文件内容或 false (失败)时,可以
@JsonFile::get()
这样调用

主要也是为了方便嘛。请问如何实现这样的自定义方法(或函数)呢?
或者说我这样的思路不太好?有没有既方便又合理的实现方法呢?

首先要保证语法没问题,然后好像和 throw new Exception和trigger_error 没关系了,上代码:

登录后复制

Warning: mysql_connect() [function.mysql-connect]: Access denied for user '用户名错误'@'localhost' (using password: YES) in D:Projectsns1.php on line 4

test2没有抛出 Warning.

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!