由于 PHPunlink()
本身不支持异常,我正在为它制作一个包装函数。它应该抛出一个FileNotFoundException
如果给定的文件不能被删除,因为它不存在。
为此,我需要确定抛出的错误unlink()
是由丢失的文件还是其他原因引起的。
这是我的自定义删除功能的测试版本:
public function deleteFile($path){
set_error_handler(function($errLevel, $errString){
debug($errLevel);
debug($errString);
});
unlink($path);
restore_error_handler();
}
For $errLevel
and $errString
I get 2 (E_WARNING) and unlink(/tmp/fooNonExisting): No such file or directory
一个相当大胆的方法是这样的:
if( strpos($errString, 'No such file or directory') !== false ) {
throw new FileNotFoundException();
};
问题 1:我可以在多大程度上依赖错误字符串在不同 PHP 版本中是相同的?问题2:有更好的方法吗?