我在一些函数中编写了很多这样的代码:
$f = fopen($fname);
if ($f === false) {
throw new Exception("cannot open $fname");
}
当您处理大量文件以打开&处理。我想知道这是否可行,没有任何不可预见的不良副作用:
$f = fopen($fname) or die("cannot open $fname");
这在Perl中是惯用的,但在PHP中这是正确的吗?还有另一种更好的方法吗?这似乎是有效的,但我知道PHP会以很多意想不到的方式咬你。
答案 0 :(得分:1)
我个人将所有代码都作为一个可能引发异常的函数。然后调用该函数捕获异常。收到异常后如果是live(生产)生成适当的页面和日志详细信息。否则(测试/开发)将这些细节放在页面上。
答案 1 :(得分:1)
我倾向于选择类似的东西:
if(!($f = @fopen($fname, 'r'))) {
throw new Exception("cannot open $fname");
}
perl风格也很好,但我相信fopen会引发错误。