Обработка ошибок

Предотвращение ошибок. Программа должна быть защищена от недопустимого ввода и неправильной эксплуатации. Должна быть предусмотрена проверка вводимых данных. Можно использовать методы аппаратного обнаружения и исправления ошибок.

Выделяются подпункты:

неверное начальное состояние;

неадекватная проверка пользовательского ввода;

неадекватная защита от испорченных данных;

не выполнена проверка переданных параметров;

недостаточная защита от ошибок операционной системы;

не выполняется проверка версии;

недостаточная защита от неправильного использования («защита от дурака»).

Выявление ошибок. Программа должна контролировать правильность данных.

Выделяются подпункты:

переполнение;

невозможные значения;

непроверенные данные;

флаги ошибок;

аппаратные сбои;

сравнение данных;

восстановление после ошибок;

автоматическое исправление ошибок;

отсутствие сообщения об ошибке;

не установлен флаг ошибки;

куда возвращается управление? (Ошибки передачи управления после сбоя);

прекращение выполнения программы из-за ошибки. Имеются в виду возможные ошибки из-за не корректной обработки такой ситуации;

обработка аппаратных отказов;

ну нет у меня нужного диска! Программа должна предусматривать какой-то выход из ситуации, когда пользователь не в состоянии выполнить требуемое действие.

Ошибки, связанные с граничными условиями.

Выделяют следующие типы таких ошибок:

неправильная обработка граничного значения;

неверное граничное условие;

неправильная обработка данных, не соответствующих граничным условиям.

Выделяются следующие подпункты:

числовые ограничения;

ограничения на равенство;

количественные ограничения;

пространственные ограничения;

ограничения времени (имеются в виду вопросы, связанные с поведением системы на границах заданных в программе временных интервалов);

условия циклов;

ограничения объема памяти;

ограничения, связанные со структурой данных;

ограничения, связанные с аппаратным обеспечением;

невидимые границы.

Раздел представляется очень эклектичным. Напрашивается вывод о вынесении ошибок, связанных с циклами, использованием памяти, ошибок в структурах данных в отдельные разделы. Представляется, что наличие того или иного ограничения не может являться главным критерием классификации. Также все ошибки, связанные с аппаратным обеспечением должны быть собраны в отдельном разделе и там структурированы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: