PHP unlink() 处理异常

标签 php exception-handling unlink

好吧,我一直想知道我是否可以正确处理 unlink() 函数。我不希望 unlink() 函数在无法取消链接文件时抛出一些讨厌的错误(可能是由于找不到文件)。

我尝试了类似的东西

try { 
    unlink("secret/secret.txt"); 
} catch(Exception $e) { 
    print "whoops!"; 
    //or even leaving it empty so nothing is displayed
} 

但它不起作用。我不是 PHP 专家。我在网络的某个地方搜索并找到了这个异常处理代码。但我记得我的学生时代,Java 也是如此。所以它应该工作。我不知道代码有什么问题。

或者我可以简单地使用 if..else 语句,例如

if(unlink($file)){
  //leaving here empty must ensure that nothing is displayed
}else{
  //leaving here empty must ensure that nothing is displayed
}

但是这段代码也不起作用。我在哪里做错了?还有什么其他的方法可以正确处理?

可以通过错误报告(PHP)(生产和开发环境)操作来隐藏错误吗??

最佳答案

注意:这可能不再有效。查看布赖恩的评论

如果你只想抑制错误,你可以这样做:

@unlink('your_file_name');

通常,在 PHP 中,@ 会抑制任何错误。

更好的方法是最小化错误概率。您说过错误可能性之一是由不存在的文件引起的。如果我是你,我会这样做:

if(file_exists('your_file_name')){
    unlink('your_file_name');
}else{
    echo 'file not found';
}

祝你好运:)

关于PHP unlink() 处理异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15318230/

相关文章:

php - Azure 租赁 Blob API 403 错误

haskell - 使用 `handle` 产生的不明确的类型变量

php - PHP MYSQL 图像取消链接上的奇怪行为

php - foreach 循环内联而不是水平循环

PHP ARRAY 附带 "\"

c++ - 解决将对象传递给抛出的函数时可能发生的内存泄漏

linux - Linux中可用于删除文件的系统调用

php - 使用 CodeIgniter(3) 删除服务器(非本地)上的文件

php - mkdir() 不修改目录

C++ -- "throw new BadConversion("xxx")"and "throw BadConversion ("xxx")"之间的区别