Об обработке ошибок
1) Мы можем выделить несколько типов ошибок в модели приложения.
Как миниму обычно можно выделить - технические ошибки и ошибки валидации входных данных (а также ошибки валидации недопустимых действий).
В целом модель типов ошибок может быть более сложной.
2) При разработке приложение желательно определить политики того, как и какие ошибки мы будем передавать и перехватывать.
3) Также важно понисать как ошибки влияю на жизненный цикл обработки запроса в нашем приложении. Какие ошибки являются критичными, а какие говорят о необходимости выполнить альтернативное действие.
4) Логирование - не должно быть ситуации, когда технические ошибки могут просто пропасть, не попав в логи.
Или же у нас есть перечень допустимых ошибок, а все остальное пишется в логи.
5) Например: У нас есть WebApi, обрабатывающее входные запросы. Насколько информативным должен быть текст ответа API в случае ошибки валидации входных данных. Проверяются ли входные данные целиком или же обработка прекращается при нахождении первого недопустимого элемента?
6) Например: У нас есть входная очередь и воркер, выполнябщий чтение и процесинг. Существуют ли какие либо ошибки, возникновение которых должно приводить к тому, что мы перестаем извлекать новые сообщения, останавливая обработку (например до наступления какого-то события), или же воркер в любом случае должен переходить к обработке следующего сообщения?