Показать сообщение отдельно
  #49 (permalink)  
Старый 08.11.2015, 00:59
Аспирант
Посмотреть профиль Найти все сообщения от loljs
 
Регистрация: 06.11.2015
Сообщений: 68

Сообщение от Mаxmaxmаximus
ну есть 2 канала отдачи от функции, канал верного решения, и канал ошибок
Ну, начнем с того, что канал отдачи от функции это ретурн, throw к функциям отношения не имеет. Он бросит ошибку вообще мимо стека, либо до первого catch, либо на самый верх.
Сообщение от Mаxmaxmаximus
а опытные часто по ошибки и верные результаты и ошибки отправляют по каналу ретурн, а чтобы пользователь функции отличал что есть что, ошибку как бы обозначюают заведомо невозможными данными, напрмиер если индекс найден то возвраазется число, а если нет, то это ошибка и надо бросить исключение, но фуункция отправляет по тому же ВЕРНМОУ каналу число -1 (а индексы не могут быть -1) и это как бы сигнал для пользователя функции что функция не отработала.
Ну и что? Пользователю не обязательно валить программу, если в массиве не нашлось нужного включения. Это вполне годный паттерн, зависит от задачи, как и любой другой имеет границы применимости.

Собственно, по Вашей логике получается, что try вообще не нужен.
Ответить с цитированием