Обработка ошибок
Оператор формирования кода ошибки – ERROR
Назначение: Генерирует ситуацию возникновения ошибки с заданным кодом, а также позволяет пользователю определить свои коды ошибок.
СинтаксисERROR
Аргументдолжен быть целым числом в диапазоне от 1
до 255.
Для задания пользовательского кода ошибки рекомендуется использовать значение кода начиная с 200 и не совпадающее с имеющимися кодами или выходящее за пределы 255.
При выполнении оператора программа моделирует возникновение ошибки с соответствующим кодом и печатает сообщение об ошибке. Если аргумент функции ERROR не находит заданного кода, выдается сообщение:
Unprintable error (Неопознанная ошибка).
При наличии подпрограммы обработки ошибки (ON ERROR) происходит переход на эту подпрограмму.
Оператор установки среды обработки ошибки – ON ERROR
Назначение: При появлении ошибки передает управление в подпрограмму обработки ошибки.
Синтаксис ON ERROR GOTO [ | ]
Аргументыиопределяют первую строку процедуры обработки ошибки. Эта строка должна обязательно принадлежать уровню модуля.
Еслиравен 0, то такой оператор запрещает обработку ошибок, а не определяет строку с номером 0 в качестве начальной строки процедуры. Возникающие после этого ошибки вызывают только печать сообщения об ошибке и прекращение выполнения программы. В том случае, когда обработка ошибок разрешена, возникающие ошибки вызывают переход на указанную процедуру обработки ошибок.
Выполнение оператора ON ERROR с номером 0 внутри подпрограммы обработки ошибок прекращает выполнение программы и выводит сообщение об ошибке прерывания. Это позволяет прекратить выполнение программы, если возникает ошибка, которая не может быть обработана указанной процедурой.
Необходимо иметь в виду, что так называемая процедура обработки ошибки не является подпрограммой, функцией DBF FN, процедурой SUB или процедурой-функцией FUNCTION в обычном смысле. Это блок операторов, помеченный начальным номером строки или меткой.
В блоке обработки ошибок не допускается повторная обработка ошибок; ошибки, возникшие при работе блока, прекращают работу программы с выдачей сообщения об ошибке.
Функция определения кода ошибки — ERR
Hазначение: Возвращает код ошибки.
Синтаксис: ERR
В случае возникновения ошибки функция ERR возвращает код ошибки. Поскольку функция ERR возвращает правильное значение только после возникновения ошибки, то эту функцию следует использовать в подпрограммах обработки ошибок для анализа ошибочных ситуаций.
Функция определения номера строки, связанной с ошибкой, — ERL
Назначение: Возвращает номер строки, в которой возникла ошибочная ситуация.
Синтаксис: ERL
В случае возникновения ошибки функция ERL возвращает номер строки, в которой возникла ошибка. Поскольку функция ERL возвращает правильное значение только после возникновения ошибки, то эту функцию следует использовать в подпрограммах обработки ошибок для анализа ошибочных ситуаций.
Функция ERL возвращает только номер строки, но не ее метку, которая расположена перед строкой, вызвавшей ошибку. Если программа не пронумерована, то функция ERL всегда возвращает 0.
2. Описание практической части работы:
2.1. Цели лабораторной работы: Изучить возможности корректировки ошибок, возникающих в процессе выполнения программы.
2.2. Постановка задачи: Разработать программу, содержащую блок обработки ошибок неправильных действий пользователя, обеспечивающий обработку информации в соответствии с заданием.
2.3. Порядок выполнения работы:
2.3.1. Ознакомиться с теоретической частью.
2.3.2. Получить задание у преподавателя.
2.3.3. Выполнить работу:
2.3.3.1. Разработать алгоритм вывода k значений функции y=f(x) на интервале [a,b] и алгоритм процедуры обработки ошибок.
2.3.3.2. Разработать программу, в которой установить начало обработки ошибок оператором ON ERROR GOTO , где указывает на начало блока обработки ошибок.
2.3.3.3. Сгенерировать ошибку и определить код ошибки с помощью оператора PRINT в блоке обработки ошибок.
2.3.3.4. Произвести обработку ошибок оператором SELECT CASE ERR.
2.3.3.5. Блок обработки ошибок закончить оператором RESUME.
2.3.1. Оформить отчет:
2.3.4.1. Содержание отчета:
1. Цель работы — краткая формулировка поставленной цели.
2. Порядок выполнения — определяются действия, необходимые для выполнения данной работы.
3. Постановка задачи — формулирование задачи в соответствии с индивидуальным заданием.
4. Решение поставленной задачи:
4.1. Математическое описание решения поставленной задачи содержит описание связей между параметрами с использованием принятых в математике обозначений.
4.2. Описание логической структуры программы (алгоритм решения) содержит:
— краткое описание схемы программы;
— алгоритм решения (по ГОСТ) – рисунок;
-краткое описание используемых операторов языка программирования (при необходимости).
4.3. Описание программы содержит:
— название файла, его размер,
-текст программы (или фрагмент для решения конкретной, наиболее важной части задания).
4.4. Результат работы программы:
— значения, полученные в результате выполнения программы
— анализ полученных результатов.
Выводы — отвечают на поставленную цель.
2.4. Контрольные вопросы:
1. Зачем нужна обработка ошибок в программе ?
2. Можно ли избежать меток в программе, если в ней предусматривается обработка ошибок ?
3. Как определить какая ошибка произошла ?
4. Как определить где произошла ошибка ?
5. Как определить на каком устройстве произошла ошибка 7
6. Как сказывается на работе программы включение обработки ошибок ?
7. Назначение оператора RESUME при обработке ошибок ?
8. Сколько блоков обработки ошибок может быть в программе ?
9. Каким оператором осуществляется обработка ошибок ?
10. Можно ли на время отключить в программе обработку ошибок ?
Таблица
Задания
n | задание | n | задание |
Обеспечить расчет значенийвыбранной функции при возникновении некорректной операции (извлечение логарифмаиз отрицательного числа) в конкретной точке путем исключения данных точек израсчета. | Обеспечить вывод исходныхданных и результатов расчета на печатающее устройство (в случае отсутствияпринтера произвести обработку ошибок). | ||
Обеспечить вывод исходныхданных и результатов расчета в файл на диск А (в случае отсутствия дискеты вдисководе или ее переполнения произвести обработку ошибок). | Обеспечить расчет значенийвыбранной функции при возникновении некорректной операции (деление на ноль) в конкретной точке путемисключения данных точек из расчета. | ||
Обеспечить расчет значениймонотонно возрастающей функции до момента переполнения значений функции | Обеспечить ввод данных из файлав случае неверно указанного пути к нему. | ||
Обеспечить ввод данных из файлав случае повторного открытия файла с тем же номером. | Обеспечить ввод данных из файлав случае неверно указанного имени (присутствие пробелов или при длине более 8символов). | ||
Обеспечить расчет значенийвыбранной функции при возникновении некорректной операции (извлечение корняиз отрицательного числа) в конкретной точке путем исключения данных точек израсчета. | Обеспечить расчет значенийвыбранной функции при возникновении некорректной операции (возведениеотрицательного числа в дробную степень) в конкретной точке путем исключенияданных точек из расчета. | ||
Обеспечить расчет значенийвыбранной функции при возникновении некорректной операции (переполнениимассива) в конкретной точке путем исключения данных точек из расчета. | Обеспечить расчет значенийвыбранной функции при возникновении некорректной операции (деление на ноль) в конкретной точке путемисключения данных точек из расчета. | ||
Обеспечить расчет значениймонотонно возрастающей функции до момента переполнения значений функции | Обеспечить ввод данных из файлав случае неверно указанного пути к нему. | ||
Обеспечить ввод данных из файлав случае неверно указанного пути к нему. | Обеспечить ввод данных из файлав случае повторного открытия файла с тем же номером | ||
Обеспечить вывод исходныхданных и результатов расчета на печатающее устройство (в случае отсутствияпринтера произвести обработку ошибок). | Обеспечить расчет значенийвыбранной функции при возникновении некорректной операции (переполнениимассива) в конкретной точке путем исключения данных точек из расчета. | ||
Обеспечить вывод данных в файлав случае неверно указанного пути к нему. | Обеспечить ввод данных из файлав случае повторного открытия файла с тем же номером. | ||
Обеспечить ввод данных из файлав случае неверно указанного имени (присутствие пробелов или при длине более 8символов). | Обеспечить расчет значенийвыбранной функции при возникновении некорректной операции (переполнениимассива) в конкретной точке путем исключения данных точек из расчета. | ||
Обеспечить вывод исходныхданных и результатов расчета на печатающее устройство (в случае отсутствияпринтера произвести обработку ошибок). | Обеспечить расчет значенийвыбранной функции при возникновении некорректной операции (извлечение корняиз отрицательного числа) в конкретной точке путем исключения данных точек израсчета. | ||
Обеспечить расчет значениймонотонно возрастающей функции до момента переполнения значений функции | Обеспечить ввод данных из файлав случае неверно указанного имени (присутствие пробелов или при длине более 8символов). | ||
Обеспечить расчет значенийвыбранной функции при возникновении некорректной операции (деление на ноль) в конкретной точке путемисключения данных точек из расчета. | Обеспечить вывод исходныхданных и результатов расчета в файл на диск А (в случае отсутствия дискеты вдисководе или ее переполнения произвести обработку ошибок). | ||
Обеспечить расчет значенийвыбранной функции при возникновении некорректной операции (возведениеотрицательного числа в дробную степень) в конкретной точке путем исключенияданных точек из расчета. | Обеспечить расчет значенийвыбранной функции при возникновении некорректной операции (извлечениелогарифма из отрицательного числа) в конкретной точке путем исключения данныхточек из расчета. |
Статьи к прочтению:
Автоматическая нумерация в Excel
Похожие статьи:
-
Функция определения координат или цвета пикселя — point
Назначение: Определяет номер цвета пикселя или выдает его координаты. Синтаксис: POINT(x,y) POINT() Если в функции POINT задается пара координат х и у,…
-
Типичные ошибки при работе со строками
Использование С-строк чревато ошибками из-за слишком низкого уровня реализации. Ниже приведены типичные ошибки при работе со строками. Пример:вычисление…