Ошибки при написании программ
Создавая программу, даже опытный программист допускает ошибки. Все ошибки условно можно разделить на три группы: ошибки компиляции, выполнения и логики. Рассмотрим те ошибки, которые «ловит» Visual Basic. Ошибки компиляции Ошибки компиляции возникают тогда, когда Visual Basic не может интерпретировать введенный код. Это происходит, например, при неправильном вводе числа скобок, неправильном имени, неполной инструкции и т.д. Строка, в которой обнаружена ошибка (после того как нажата клавиша [Enter]), выделяется красным цветом, и на экране появляется диалоговое окно с сообщением о возможной ошибке (Рис. 2‑8). Рис. 2‑8. Ошибка компиляции, обнаруженная при вводе: Другие ошибки компиляции выявляются сразу же после запуска программы. В этом случае предполагаемое местоположение ошибки выделяется синим цветом и на экране появляется диалоговое окно с сообщением об ошибке (Рис. 2‑9). Рис. 2‑9. Ошибка компиляции, обнаруженная после запуска программы: Задание: 1. В файлеМои программы.xls в Модуле1 наберите программу СлучайныеЧисла, которая разыгрывает 10 случайных чисел и помещает их в первые 10 ячеек первого столбца: Sub СлучайныеЧисла() Dim СлучЧисло As Integer For i = 1 To 10 СлучЧисло = Int(100 * Rnd()) Cells(i, 1).Value = СлучЧисло Next i MsgBox "Случайные числа разыграны!" End Sub 2. Сгенерируйте описанные выше ошибки. Ошибки выполнения Возникают после успешной компиляции программы при её выполнении. Причинами таких ошибок могут быть: § несоответствие типов данных, § некорректность вычислений, например, деление на ноль или вычисление квадратного корня из отрицательного числа, § некорректность операций с файлами, например, удаление открытой рабочей книги, сохранение рабочей книги с именем открытого файла и т.д. С ошибкой выполнения познакомимся на следующем примере. Для этого в Sub ОбратноеЧисло() Dim x As Double Dim y As Double x = CDbl(InputBox("Введите число:")) y = 1/x MsgBox "Обратное число:" & y End Sub и запустите её на выполнение (попутно обратите внимание на встроенную функцию InputBox). На экране появится диалоговое окно с запросом, – введите в него 0 и щелкните по кнопке ОК. Так как деление на ноль запрещено, VB отобразит окно с сообщением о номере ошибки и причине, её вызвавшей (Рис. 2‑10): Рис. 2‑10. Ошибка выполнения: деление на ноль Если щелкнуть по кнопке Debug (Отладка), то строка, в которой произошла ошибка, будет выделена желтым цветом и программа перейдет в режим прерывания. При наведении мышиного курсора на переменную х на экране появится всплывающая подсказка с текущим значением (Рис. 2‑11). Щелкнув по кнопке Сброс на панели инструментов Стандарт (Рис. 2‑6), завершите выполнение программы. Рис. 2‑11. Программа Обратное_число в режиме прерывания Другим примером ошибки выполнения может служить программа УзнатьАвтора. Скопируйте её в книгу Мои программы.xls (в Модуль2), а книгу Мои таблицы.xls закройте. Теперь, при запуске этой программы, возникнет ошибка с кодом 9 – Индекс выходит за пределы допустимого диапазона (Рис. 2‑12). Эта ошибка возникает тогда, когда программа ссылается на несуществующий объект[3]. Рис. 2‑12. Ссылка на несуществующий объект Workbooks("Мои таблицы.xls") Следующая программа работает корректно вне зависимости от того, открыта книга Мои таблицы.xls или нет: Sub СсылкаНаКнигуПоИндексу() '1. Объявляем переменные: Dim Автор As String Dim КолОткрытыхКниг As Integer '2. Определяем количество открытых книг: КолОткрытыхКниг = Workbooks.Count '3. Ищем среди открытых книг книгу с именем Мои таблицы.xls: For i = 1 To КолОткрытыхКниг If Workbooks(i).Name = "Мои таблицы.xls" Then Автор = Workbooks(i).Author MsgBox "Автор этой книги: " & Автор Exit Sub End If Next i MsgBox "Книга Мои таблицы.xls среди открытых книг не найдена!" End Sub Задания: 1. В Модуле 2 введите программу СсылкаНаКнигуПоИндексу. 2. Протестируйте работу этой программы, когда книга Мои таблицы.xls открыта/закрыта.
Популярное: Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1272)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |