Не соглашусь с комментаторами выше. Иногда есть причины для подавления ошибки.
Вот пример:
$file = '/g/g/g/g/';
if (!@unlink($file) && file_exists($file)) {
throw new \RuntimeException('Failed to delete file ' . $file);
}
Тут unlink на несуществующем файле приведет к
Warning: unlink(/g/g/g/g/): No such file or directory in
ошибка нам не нужна, мы её подавляем. Следующий этап - проверка, удалился ли реально файл, вне зависимости от того, что нам вернёт unlink.
Если файл не удалился - выкидываем исключение.