Кто несет ответственность за исключение

У меня есть уровень абстракции файловой системы, так что я могу использовать другую реализацию по мере необходимости

interface FileSystem
{
public function createTemporaryDirectory();
}

Я создал класс обработчика, который использует файловую систему и вызов createTemporaryDirectory

class Handler
{
private $fileSystem;

public function __construct(FileSystem $fileSystem)
{

$this->fileSystem = $fileSystem;
}

public function handle()
{
//option 1 throw exception here
if (!$this->fileSystem->createTemporaryDirectory())
throw new DirectoryException('Cannot create temp directory');
//option 2 let throw exception implemented inside createTemporaryDirectory
$this->fileSystem->createTemporaryDirectory()
}

Мой вопрос, что является лучшей практикой? бросить исключение внутри функции дескриптора или из реализации метода createTeoraryDirectory файловой системы?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]