Исходный код вики Об обработке ошибок

Версия 10.1 от Alexandr Fokin на 2021/10/16 12:26

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