3. Заглядываем внутрь работающей программы
Рис. 23. Это сообщение об ошибке выдает уже не система программирования, а сама тестируемая программа
— А зачем нам еще одно сообщение о той же самой ошибке?
~ Все очень просто. В первый раз сообщение выдала система C++Build( только для нас, как для разработчиков. Оно было подробным. А во второ раз сообщение с краткой информацией было выдано непосредственно само программой-калькулятором. То есть, в нее, оказывается, уже автоматическ встроен .'программный код, защищающий от большинства стандартна исключительных ситуаций. Это означает, что если пользователь программ будет запускать Calc.exe не из среды C++Builder, а просто из Windows, i при попытке ввода неверного значения он увидит только второе, краткс сообщение об ошибке. При этом оператор, попытавшийся выполнить нед1 пустимое действие, просто будет пропущен.
Похожее сообщение можно получить и если ввести в поле текущего кур< не число, а текст (например, слово двадцать). Тогда в сообщении об ошиб] будет написано "двадцать" is not a valid integer value ("двадцать" — неверие целое число).
Закройте диалоговое окно с сообщением, закройте калькулятор и верн] тесь в C++Builder.
Проверяем значения переменных
На этапе отладки C++Builder позволяет быстро выяснить, где встретил! ошибочный оператор. Однако хорошо бы еще посмотреть, какие значеш в этот момент хранились в переменных, чтобы определить возможную пр:
чину ошибки.
Сделать это очень просто. Надо самому прервать работу калькулятора неп средственно перед тем, как будет выполнен ошибочный оператор, и выя нить, какие конкретно значения записаны в переменных. Для это] переместите курсор на нужную строку и нажмите клавишу F5. Строка по светится красным цветом, а слева появится маркер в виде красного круж?
90