Принципы обработки ошибок
Во время своей работы программа может сталкиваться с различными ситуациями, которые делают невозможным ее дальнейшее выполнение. Эти ситуации обычно порождаются одной из следующих основных причин:
· ошибочное программирование (например, задание недопустимого индекса массива или неопределенного значения переменной);
· ввод пользователем неверных данных (например, задание значения делителя равным нулю).
Поэтому программист (особенно в том случае, когда он делает программный продукт для внешнего использования) должен проанализировать все возможные причины возникновения ошибок в своей программе и организовать обработку возможных ошибок. Ошибка в программе, как правило, происходит при выполнении некоторых условий, и программисту достаточно проверить эти условия и написать фрагмент программы, обрабатывающей данную ошибку.
Пример 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, то вывод фрагмента сценария примет следующий вид:
Многие ошибки являются типовыми, или стандартными (например, например, использование в арифметических выражениях числовой переменной, значение которой не задано, как в предыдущем примере) и поэтому и их обработка является в большинстве случаев типовой – сигнализация о характере и месте возникновения ошибки и окончания работы программы. Таким образом, обработку типовых ошибок может выполнять не программист, а средства языка программирования и/или среда выполнения программы. Кроме того, программисту обычно предоставляется возможность самому организовать нужную ему обработку типовых ошибок, а также обрабатывать нестандартные ошибки, т.е. те ошибки, которые являются специфическими для его программы.