'

Отладка Отображение значений Структурированная обработка исключений Пример Экзаменационные вопросы

Понравилась презентация – покажи это...





Слайд 0

Лекция 9 Кафедра Прикладной математики М-703, тел. 362-79-62 К.т.н., профессор Глаголев Виктор Борисович, комн. Ж-405б, тел. 362-73-28 http://glagvik.narod2.ru/index.htm Отладка Отображение значений Структурированная обработка исключений Пример Экзаменационные вопросы


Слайд 1

Отображение значений Кроме контроля хода выполнения программы важной задачей инструментов отладки VB является проверка значений переменных и выражений. Контроль значений возможен только в режиме паузы.


Слайд 2

Самый простой вариант просмотра значения переменной или выражения – использование окна Quick Info (быстрая информация). Для открытия этого окна достаточно установить курсор мыши на соответствующей переменной в окне кода. Если необходимо увидеть значение выражения, его следует выделить, а затем установить на нем курсор мыши.


Слайд 3

Окно Autos (видимые переменные) В этом окне отображаются значения переменных, используемых в текущей инструкции и в предыдущей инструкции. Для открытия этого окна следует вызвать команду меню Debug, Windows, Autos.


Слайд 4

Окно Autos (видимые переменные)


Слайд 5

Окно Locals (локальных переменных) В окне локальных переменных все локальные переменные отображаются автоматически. Для открытия этого окна следует вызвать команду меню Debug, Windows, Locals. В нижней части окна среды VB откроется окно Locals. В этом окне выводятся текущие значения всех локальных переменных. Теперь удобнее следить за изменением переменных при пошаговом выполнении программы.


Слайд 6

Окно Locals (локальных переменных)


Слайд 7

Окно Watch (контрольные значения) Еще одну возможность просмотра значений переменных, а также выражений предоставляет окно Watch, вызываемое командой меню Debug, Windows, Watch. Может быть открыто до четырех таких окон. Окно контрольных значений Watch отображает список контролируемых выражений и их текущие значения.


Слайд 8

Проще всего для добавления выражения в окно воспользоваться методом Drag & Drop для перетаскивания выражения из окна кода в окно контрольного значения (выделить выражение в программном коде и перетащить его в окно Watch при нажатой левой кнопке мыши).


Слайд 9

Окно Watch (контрольные значения)


Слайд 10

Контролируемое выражение, отображаемое в первом столбце окна контрольного значения, можно не только просматривать, но и редактировать. Во втором столбце отображаются текущие значения выражений.


Слайд 11

Окно контрольных значений может отображать не только значения простых выражений, но и сложные структурированные объекты. Если перед именем объекта отображается знак плюс, то после щелчка на плюсе отображаются все свойства объекта.


Слайд 12

Окно Immediate (команд) В режиме отладки в это окно можно вводить и выполнять код VB. Однако многострочные конструкции, например For. . .Next, использовать нельзя. Окно команд может находиться в режиме Immediate (интерпретация) или в режиме Command (командном).


Слайд 13

Когда окно команд находится в режиме Immediate, его можно использовать для выполнения инструкций VB. Когда же это окно находится в режиме Command, его можно использовать для выполнения команд Visual Studio.


Слайд 14

Для переключения окна команд из режима Immediate в режим Command следует ввести команду >cmd и нажать клавишу Enter. Для переключения окна команд из режима Command в режим Immediate следует ввести команду >immed и нажать клавишу Enter. Для открытия окна команд следует выполнить команду меню Debug, Windows, Immediate.


Слайд 15

Для выполнения инструкции ее нужно ввести в командном окне и нажать на клавишу Enter. Текстовый курсор при этом может не находиться в конце строки. После выполнения строка из окна команд не удаляется, поэтому оператор можно выполнять несколько раз с измененными, при необходимости, значениями. С помощью перетаскивания можно перемещать выражения из окна кода в окно отладки и наоборот.


Слайд 16

Окно команд в режиме Immediate


Слайд 17

Окно команд в режиме Command


Слайд 18

Структурированная обработка исключений В идеальном случае программа не должна бороться с исключениями. Однако разработчик должен предусмотреть вероятность появления сбойных файлов, переполнения памяти или ввода пользователем некорректных данных. Все это может послужить причиной возникновения исключений.


Слайд 19

Обработку исключений следует предусмотреть на этапе разработки приложения. Для этого в VB.NET имеется специальная программная модель обработки исключений, которая позволяет обнаружить исключение, а также выполнить необходимые действия по преодолению препятствий для правильного продолжения выполнения программы.


Слайд 20

Для обработки исключения используется блок кода Try … Catch … End Try. Оператор Try (пробовать) следует поместить непосредственно перед той подозрительной инструкцией, выполнение которой может привести к исключению. А после этой инструкции помещается оператор Catch (поймать) вместе с теми инструкциями, которые нужно выполнить, если произойдет ошибка времени выполнения.


Слайд 21

Синтаксис обработчика исключений выглядит так: Try Инструкции, которые могут вызвать исключение Catch Инструкции, которые выполняются, если исключение происходит Finally Дополнительные инструкции, выполняемые независимо от типа исключения для освобождения ресурсов End Try


Слайд 22

Обработка исключения должна выполняться сразу после его обнаружения. Сначала следует установить тип исключения. Для этого в VB существует объект Err, свойство которого Err.Number содержит номер последнего исключения. Свойство Err.Description содержит краткое сообщение системы об этом исключении. Список номеров исключений, которые можно обрабатывать, Вы найдете в системе справок VB.


Слайд 23

После определения типа исключения по его коду (свойство Number объекта Err) следует попытаться устранить исключение или обработать его так, чтобы оно не мешало выполнению программы. Например, при ошибках обращения к диску может отображаться диалоговое окно для принятия пользователем решения о прекращении операции или повторном выполнении.


Слайд 24

Свойство Description объекта Err возвращает текст системного описания исключения. Это можно использовать для вывода текста сообщения об исключении в обработчике ошибок, поскольку системный вывод сообщения об исключении при использовании обработчика исключений не производится.


Слайд 25

Между инструкциями Try и End Try может находиться несколько блоков обработки исключений, каждый из которых предназначен для обработки определенного типа исключения, например: Try PictureBox.Image = _ System.Drawing.Bitmap.FromFile _ (“с:\Image\crach.bmp”) Catch When Err.Number = 53 ‘Файла нет MsgBox(“Такого файла нет”) Catch When Err.Number = 7 ‘Мало памяти MsgBox(“Слишком большой файл”) Catch


Слайд 26

MsgBox(“Не удалось загрузить файл” _ & Err.Description) End Try Здесь Catch When реагирует на появление конкретного исключения. Если при загрузке рисунка в объект PictureBox.Image будет неправильно указано имя файла рисунка, то это приведет к сообщению “Такого файла нет”. Если же при загрузке рисунка в объект PictureBox.Image размер файла окажется больше свободной памяти, то это приведет к сообщению “Мало памяти”.


Слайд 27

Последняя инструкция Catch обрабатывает все остальные исключения. При любом другом исключении, которое может возникнуть во время открытия файла будет выведено сообщение “Не удалось загрузить файл”, сцепленное с системным сообщением об исключении, содержащемся в Err.Description.


Слайд 28

Пример Пусть при выполнении некоторой программы пользователю требуется ввести значение числовой переменной, применяя обращение к функции InputBox. Если при выполнении ввода пользователь в поле ввода функции InputBox введет строку, которая не может быть интерпретирована как число, то система сгенерирует исключение. К исключению приведет, например даже ситуация, когда пользователь просто забыл ввести значение числа в поле ввода функции InputBox и нажал на кнопку ОК.


Слайд 29

Как можно обработать это исключение, чтобы программа могла продолжить работу корректно?


Слайд 30

Предлагаемый способ может состоять в том, что если при вводе значения числа возникает исключение, следует предупредить пользователя о допущенной им ошибке ввода и заставить его повторить ввод. На следующем слайде приведен код, в котором применен этот способ.


Слайд 31


Слайд 32

Здесь всегда при появлении исключения в результате обращения к функции InputBox тело цикла Do … Loop будет выполнено повторно и пользователю представляется возможность исправить допущенную им ошибку.


Слайд 33

Возможна генерация системой исключения при открытии файла для чтения, если имя файла было задано ошибочно. В этом случае можно предусмотреть возможность пользователю исправить имя файла и повторить попытку его открытия. На следующих четырех слайдах подпрограмма Button1_Click открывает файл последовательного доступа для чтения.


Слайд 34

Если открытие файла прошло успешно и исключение не возникло, то подпрограмма последовательно считывает все записи файла, пока не доходит до его конца и так определяет номер последней записи файла. Если же исключение возникло, то пользователю предлагается задать имя файла заново.


Слайд 35


Слайд 36


Слайд 37


Слайд 38


Слайд 39

Консультации Проводятся по средам с 10 недели по 16 неделю с 17 час. 15 мин. до 18 час. 30 мин. в ауд. Ж-111


Слайд 40

Расписание экзаменов


Слайд 41

Экзаменационные вопросы Базовые типы целочисленных данных. Базовые типы числовых данных с дробной частью. Объявление констант и переменных. Область действия имен переменных и констант. Время жизни переменных. Преобразование типа данных. Арифметические операции. Отношения, логический тип данных, логические операции.


Слайд 42

Приоритет операций. Стандартные математические функции. Инструкция присвоения, функции InputBox и MsgBox. Инструкция выбора If. Инструкция множественного выбора Select Case. Инструкция цикла For … Next. Инструкция цикла Do While … Loop и Do … Loop While. Инструкция цикла Do Until … Loop и Do … Loop Until.


Слайд 43

Массивы. Объявление подпрограмм и обращение к ним. Объявление функций и обращение к ним. Область действия имен процедур. Синтаксис аргументов процедур. Связь аргументов по ссылке, связь аргументов по значению. Необязательные аргументы процедур. Именованные аргументы. Коллекции, цикл For Each … Next.


Слайд 44

Средства отладки, структурированная обработка исключений. Растровая и векторная графика, система координат. Базовые методы класса Graphics. Структуры. Файлы с последовательным доступом, открытие, запись, чтение. Файлы с произвольным доступом и двоичные файлы, открытие, запись, чтение. Реляционные базы данных. Связь между таблицами. Виды связи «один ко многим», «многие ко многим».


×

HTML:





Ссылка: