https://habr.com/ru/post/221723/ + хороший комментарий https://habr.com/ru/post/221723/#comment_7555889
тезисы комментария:
- Ценность исключений в раскрутке стека.
- Исключения выкидывать только в случае критических ошибок, в остальных случаях - обрабатывать ошибку в той же функции, либо как можно блмже к ней, либо возвращать код ошибки.