Исходный код вики Об обработке ошибок
Версия 5.1 от Alexandr Fokin на 2021/10/16 12:22
Скрыть последних авторов
author | version | line-number | content |
---|---|---|---|
![]() |
1.1 | 1 | |
2 | 1) Мы можем выделить несколько типов ошибок в модели приложения. | ||
![]() |
3.1 | 3 | Как миниму обычно можно выделить - технические ошибки и ошибки валидации входных данных (а также ошибки валидации недопустимых действий). |
![]() |
1.1 | 4 | В целом модель типов ошибок может быть более сложной. |
5 | |||
6 | 2) При разработке приложение желательно определить политики того, как и какие ошибки мы будем передавать и перехватывать. | ||
7 | |||
![]() |
2.1 | 8 | 3) Также важно понисать как ошибки влияю на жизненный цикл обработки запроса в нашем приложении. Какие ошибки являются критичными, а какие говорят о необходимости выполнить альтернативное действие. |
![]() |
1.1 | 9 | |
![]() |
2.1 | 10 | 4) Логирование - не должно быть ситуации, когда технические ошибки могут просто пропасть не попав в логи. |
11 | Или же у нас есть перечень допустимых ошибок, а все остальное пишется в логи. | ||
12 | |||
![]() |
4.1 | 13 | 5) Например: У нас есть WebApi, обрабатывающее входные запросы. Насколько информативным должен быть текст ответа API в случае ошибки валидации входных данных. Проверяются ли входные данные целиком или же обработка прекращается при нахождении первого недопустимого элемента? |
![]() |
5.1 | 14 | |
15 | 6) Например: У нас есть входная очередь и воркер, выполнябщий чтение и процесинг. Существуют ли какие либо ошибки, возникновение которых должно приводить к тому, что мы перестаем извлекать новые сообщения останавливаем обработку или же воркер в любом случае должен перейти к следующему сообщению? |