Мегаобучалка Главная | О нас | Обратная связь


Ошибки при написании программ



2015-11-20 1272 Обсуждений (0)
Ошибки при написании программ 0.00 из 5.00 0 оценок




Создавая программу, даже опытный программист допускает ошибки. Все ошибки условно можно разделить на три группы: ошибки компиляции, выполнения и логики. Рассмотрим те ошибки, которые «ловит» Visual Basic.

Ошибки компиляции

Ошибки компиляции возникают тогда, когда Visual Basic не может интерпретировать введенный код. Это происходит, например, при неправильном вводе числа скобок, неправильном имени, неполной инструкции и т.д. Строка, в которой обнаружена ошибка (после того как нажата клавиша [Enter]), выделяется красным цветом, и на экране появляется диалоговое окно с сообщением о возможной ошибке (Рис. 2‑8).

Рис. 2‑8. Ошибка компиляции, обнаруженная при вводе:
не хватает круглой скобки

Другие ошибки компиляции выявляются сразу же после запуска программы. В этом случае предполагаемое местоположение ошибки выделяется синим цветом и на экране появляется диалоговое окно с сообщением об ошибке (Рис. 2‑9).

Рис. 2‑9. Ошибка компиляции, обнаруженная после запуска программы:
цикл For без своего завершения (Next)

Задание:

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. Сгенерируйте описанные выше ошибки.

Ошибки выполнения

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

§ несоответствие типов данных,

§ некорректность вычислений, например, деление на ноль или вычисление квадратного корня из отрицательного числа,

§ некорректность операций с файлами, например, удаление открытой рабочей книги, сохранение рабочей книги с именем открытого файла и т.д.

С ошибкой выполнения познакомимся на следующем примере. Для этого в
Модуле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-11-20 1272 Обсуждений (0)
Ошибки при написании программ 0.00 из 5.00 0 оценок









Обсуждение в статье: Ошибки при написании программ

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

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



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1272)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)