Что касается Microsoft, то рекомендовалось создавать исключения во всех API-интерфейсах, которые вы делаете общедоступными, и использовать Asserts во всех предположениях, которые вы делаете относительно внутреннего кода. Это немного дурное определение, но я думаю, что каждый разработчик должен провести черту.
Что касается использования Исключений, как следует из названия, их использование должно быть исключительным, поэтому для кода, представленного выше, вызов getGroup
должен возвращать null
, если службы не существует. Исключение должно происходить только в том случае, если сетевое соединение не работает или что-то в этом роде.
Полагаю, вывод заключается в том, что команде разработчиков по каждому приложению немного нужно определить границы утверждений и исключений.