Краткое описание инструмента и ремесла программирования. Степанов А.Г - 85 стр.

UptoLike

85
Начиная с этого момента, при возникновении ошибки управление передается
оператору, помеченному как Строка. Модуль, содержащий включенный оператор
обработки ошибок, должен содержать оператор Exit (например, Exit Sub, Exit
Function, Exit Property), не позволяющий выполниться фрагменту программы
обработки ошибок естественным путем. Программа обработки прерывания
включается в текст модуля, начинается с первого оператора, помеченного как
Строка: и заканчивается оператором Resume Next. Завершение всего модуля
оформляется обычным способом (например, End Sub). Оператор On Error Resume
Next указывает, что при возникновении ошибки управление передается на
следующий оператор. Наконец, оператор On Error GoTo 0 отключает
активизированный обработчик прерываний от ошибок в текущем модуле. В
заключение отметим, что в VBA сохранился оператор безусловной передачи
управления на метку или на номер строки GoTo Строка.
Корректно написанная программа не должна допускать возникновение
ошибок этапа выполнения за счет введения дополнительных средств
внутреннего программного контроля, поэтому рассматриваемый оператор
выполняет скорее отладочные, а не основные функции.
ТЕСТИРОВАНИЕ И ОТЛАДКА
Мы уже неоднократно указывали, что, в сущности, процессор не может
делать ничего, кроме считывания данных из памяти, их преобразования по
строгим и достаточно ограниченным правилам и записи результатов назад в
память. Однако эти операции процессор может выполнять миллионы раз в
секунду, а самих ячеек в его распоряжении находится несколько сотен или даже
тысяч миллионов. Тем не менее, мы хотим быть уверены (или, хотя бы, хотим
надеяться), что все эти операции будут выполнены правильно и в интересах
решаемой нами задачи. К сожалению, абсолютной уверенности в
рассматриваемом нами вопросе нет и быть не может. Даже если отбросить в
сторону возможность технической неисправности ЭВМ, что уже само по себе
является серьезным допущением, все равно сохраняется вероятность
неправильного кодирования и, как следствие, неправильной работы
создаваемой нами программы. Важность этого вопроса существенно зависит от
той прикладной области, для которой создается программа. Безусловно,
уровень надежности программы, обеспечивающей управление авиалайнером,
должен быть существенно более высоким, чем у программы, занимающейся
обработкой социологических опросов, хотя и в последнем случае факт
неправильной работы программы должен быть предметом самого пристального
разбирательства.
Многочисленные попытки доказать факт правильности созданной
программы, к сожалению, закончились неудачей. На настоящий момент
человечество вынуждено смириться с мыслью, что программы содержат и будут
содержать ошибки. Не существует метода создания безошибочных программ и,
как следствие, программирование может рассматриваться только как искусство,
но не как наука. Тем не менее, позволить себе не использовать компьютер в
практической деятельности человек уже не может. Как следствие, на передний
план выдвигается поиск средств, позволяющих если не полностью исключить,
то по крайней мере минимизировать количество ошибок в программе.
Подготовка программы на языке высокого уровня с помощью редактора
текста и устранение синтаксических ошибок представляет собой достаточно
сложный процесс для начинающих заниматься программированием. Именно