Это очень плохой подход.
Все делается ради красивости, а не для реальной пользы.
FileWriteException может случиться примерно по 100500 разных причин.
НИ ОДНА ИЗ НИХ не будет сообщена несчастному разработчику, который будет пытаться понять, ПОЧЕМУ не получилось файл записать. Ему, как в том анекдоте, будут говорить "слушайте свою песню Валенки!", вместо реального сообщения об ошибке.
Кидать красивости можно на уровне файлового враппера, но при этом
обязательно сохранять исходное сообщение об ошибке!
public function write($filename, $data) {
try {
file_put_contents($filename, $data);
} catch (Throwable $e) {
$e = new FileWriteException($e->getMessage());
$e->setName($filename);
throw $e;
}
}