Use dedicated exceptions if unlinking failed for reasons other than the

file not existing
This commit is contained in:
jrenslin committed 2025-03-25 14:57:29 +01:00
1 parent b9d82d672a
commit 5433811176
3 files changed
+45 -1

No files matched your search

+9 -1
View File
@@ -110,7 +110,15 @@ public static function mkdir(string $pathname, int $mode = 0775, bool $recursive
public static function unlink(string $filename):void {
if (\unlink($filename) === false) {
throw new MDFileDoesNotExist("Failed to delete: $filename");
if (!\is_file($filename)) {
throw new MDFileDoesNotExist("Failed to delete $filename, it did not exist");
}
else if (!\is_writable(dirname($filename))) {
throw new MDFilePermissionsException("Failed to delete $filename");
}
else {
throw new MDFailedToDeleteFile("Failed to delete $filename");
}
}
}