Принципы обработки ошибок

Во время своей работы программа может сталкиваться с различными ситуациями, которые делают невозможным ее дальнейшее выполнение. Эти ситуации обычно порождаются одной из следующих основных причин:

· ошибочное программирование (например, задание недопустимого индекса массива или неопределенного значения переменной);

· ввод пользователем неверных данных (например, задание значения делителя равным нулю).

Поэтому программист (особенно в том случае, когда он делает программный продукт для внешнего использования) должен проанализировать все возможные причины возникновения ошибок в своей программе и организовать обработку возможных ошибок. Ошибка в программе, как правило, происходит при выполнении некоторых условий, и программисту достаточно проверить эти условия и написать фрагмент программы, обрабатывающей данную ошибку.

 

Пример 4.4.100. Обработка ошибки в JavaScript

В программе необходимо использовать элемент массива array с индексом arrayIndex.

Значение этого индекса должно быть большим или равным нулю и его максимальное значение должно быть на 1 меньшим, чем текущее количество элементов в массиве.

Пусть массив array создан с помощью следующего предложения:

array = [1, 2, 3, 4];

и значение элемента массива с индексом arrayIndex необходимо присвоить переменной x.

Обработку вероятной ошибки в этом случае можно, например, организовать следующим образом:

// Объявление переменной x

var x;

// Задание значения переменной arrayIndex

arrayIndex = 3;

// Проверка значения переменной arrayIndex

if (arrayIndex < 0 || arrayIndex > array.length - 1)

{

// Вывод сообщения об ошибке

alert("Неверный индекс: " + arrayIndex);

}

else

{

// Присвоение переменной x

// значения элемента массива

x = array[arrayIndex];

}

// Вывод значения переменной x

alert("x=" + x);

Вывод этого фрагмента сценария будет иметь следующий вид:

Если в этом фрагменте изменить значение переменной с 3 на 4, то вывод фрагмента сценария примет следующий вид:

 

Многие ошибки являются типовыми, или стандартными (например, например, использование в арифметических выражениях числовой переменной, значение которой не задано, как в предыдущем примере) и поэтому и их обработка является в большинстве случаев типовой – сигнализация о характере и месте возникновения ошибки и окончания работы программы. Таким образом, обработку типовых ошибок может выполнять не программист, а средства языка программирования и/или среда выполнения программы. Кроме того, программисту обычно предоставляется возможность самому организовать нужную ему обработку типовых ошибок, а также обрабатывать нестандартные ошибки, т.е. те ошибки, которые являются специфическими для его программы.