На собеседовании мне задали вопрос, какое есть общее правило, когда делать try и catch.
Я ответил, когда есть работа с внешними ресурсами, где возникновение ошибки не зависит от программиста. Например, когда есть работа с файлами или БД (файл может не существовать, на диске может закончиться место, коннект к БД может не пройти)
Ответ оказался не полным.
Якобы есть какое-то правило, когда нужно использовать try catch
Сам я склоняюсь к тому, что правильный ответ: использовать try catch надо, когда нельзя обойтись проверками if/else
А что думаете вы? Какой правильный ответ?
UPD:
Один мой знакомый сказал, что использовать try / catch нужно тогда, когда может возникнуть исключение времени выполнения. Мне это нравится, пока я считаю это правильным ответом.
Ответ:
Подытожив я думаю, что такой ответ правильный:
использовать try / catch нужно тогда, когда может возникнуть исключение времени выполнения или когда после ошибки дальнейшая работа программы или функции не имеет смысла.
на википедии написано что трай нада юзать когда программа не может продолжать исполнение. Вот так и ответить. И ткнуть в вики носом. Пусть хлебают (тут смайлик тролльфейса)
странно что никто не сказал что try-catch еще следует использовать когда мы не знаем как обрабатывать возникшую ситуацию, и нам надо просто вернуть управление выше по стеку.