Шаг 20.
Microsoft Visual C++ 2010. Начала.
Первый проект. Исключения

    На этом шаге мы рассмотрим причины появления исключений.

    Ошибки, возникающие во время работы программы, называют исключениями. В большинстве случаев причиной исключений (exception) являются неверные данные. Например, если в поле Сумма окна программы "Доход" ввести, скажем, 100.50 и сделать щелчок на кнопке Расчет, то на экране появится окно (рисунок 1) с сообщением о возникновении исключения SystemFormatException: "Input string was not in correct format" ("Входная строка имела неверный формат").


Рис.1. Пример сообщения об исключении — ошибке, произошедшей во время работы программы (программа запущена из среды разработки)

    Причина возникновения исключения в рассматриваемом примере в следующем. Преобразование строки, введенной в поле редактирования, в число выполняет функция ToDouble. Эта функция работает правильно, если ее параметром является строковое представление дробного числа, что при стандартной для России настройке Windows предполагает использование в качестве десятичного разделителя запятой. В рассматриваемом примере строка 100.50 не является строковым представлением дробного числа, т. к. в качестве десятичного разделителя указана точка, и, поэтому, возникает исключение SystemFormatExceptionошибка формата. Исключение "ошибка формата" произойдет и в том случае, если в поле Срок будет введено дробное значение. Причина — попытка преобразовать в целое значение строку, которая не является изображением целого числа. Это же исключение произойдет и в том случае, если какое-либо из полей оставить незаполненным.

    Щелчок на кнопке Break (Прервать) приостанавливает выполнение программы в реальном времени и переводит ее в режим выполнения по шагам (при этом в окне редактора кода курсор устанавливается в ту строку, в которой находится инструкция, выполнение которой вызвало исключение). Щелчок на кнопке Continue (Продолжить) запускает программу с той точки, в которой была приостановлена ее работа.

    Для того чтобы остановить программу, во время работы которой возникло исключение, надо в меню Debug (Отладка) выбрать команду Stop Debugging (Остановить отладку).

    Если программа запущена из операционной системы, то при возникновении исключения так же, как и в случае запуска программы из среды разработки, выводится сообщение об ошибке (рисунок 2).


Рис.2. Пример сообщения о возникновении исключения (программа запущена из операционной системы)

    Чтобы остановить работу программы, надо нажать кнопку Quit (Выход). Щелчок на кнопке Continue (Продолжить) разрешает продолжить выполнение программы, несмотря на возникшую ошибку.

    На следующем шаге мы рассмотрим обработку исключения.




Предыдущий шаг Содержание Следующий шаг