Извините за неопределенное название.Исключение броска в методе или метод вызова
Я задаюсь вопросом, что лучше сделать в сценарии, как это:
$template = $loader->load('file');
if (!$template) {
throw new \Exception('my custom exception');
}
было бы лучше, чтобы сохранить его, как это, или на самом деле выбросить исключение в методе $loader->loader()
?
Я думаю, если вы действительно сталкиваетесь с исключением, которое было выбрано, как в примере, вы всегда будете щелкать по методу, в котором все равно было выбрано исключение. Таким образом, не было бы реальной причины, чтобы исключение было выше по трассе стека.
Мысли об этом? Почему вы поймаете исключение выше трассировки стека, если бы вы могли реализовать этот метод на самом деле?
Это зависит от ситуации. Например, если бы это было исключение, отличное от файла, оно должно быть выбрано внутри метода загрузки. Если это касается внешнего охвата, то оно должно быть выброшено во внешний масштаб и т. Д. –
@ patryk-uszynski Правда, но линия размыта. Я имею в виду, когда это будет «коррумпировать внешний охват». Потому что в обоих случаях задействован внешний масштаб. На мой взгляд, нет четкого ответа на этот вопрос. Тем не менее я опубликовал, потому что мне хотелось бы, чтобы люди думали об этом. Спасибо за прочтение! –