Borland C++ 5 для себя


Сообщения об ошибках.


Удалим, например, первые кавычки во фразе "Вы нажали:".

MessageBox(Вы нажали на кнопку\nСпасибо Вам за это!",

Ага, текст изменил цвет и из синего стал красным. (Если вы читаете черно-белый вариант книги, то это превращение я Вам показать, конечно, не могу - смотрите на монитор). Не стану объяснять очевидное - красный цвет всегда означает что-то плохое. Таким незамысловатым образом Borland, следящий за каждым Вашим движением, сразу сообщает Вам, что Вы делаете что-то не то.

Вернем кавычки на место и удалим первую запятую.

MessageBox("Вы нажали на кнопку\nСпасибо Вам за это!" "Наше сообщение", MB_OK | MB_ICONINFORMATION);

Теперь Borland сразу не отреагировал - это не такая тривиальная ошибка, как первая. Но он ее все равно обнаружит. Нажмем на кнопку "Compile". Получим следующее - см.рис.3.1.

Рисунок 3.1. Неудачное завершение компилляции.

Статус уже не "Success" ("успешно"), а "Failure" ("неудачно"). И в строке "Errors" ("Ошибки") вместо приятных нулей теперь горит число "2". Не думайте, кстати, что Вы успели сделать две ошибки. Нажимаем на "ОК" - что ж еще делать-то - и активным окном становится окно внизу с заголовком "Messages" ("Сообщения"). В этом окне Вам сразу сообщают о Ваших ошибках - см.рис.3.2.

Рисунок 3.2. Сообщения об ошибках.

Как всегда, красный цвет - восклицательного знака - означает что-то нехорошее. Бывают и другие цвета, кроме красного, о чем мы узнаем позже. Собственно, сообщение об ошибке чаще всего для новичка выглядит очень загадочным, но это только на первый взгляд. Прежде чем пытаться перевести его, заметим, казалось бы, более важную вещь - указание на место ошибки. Во-первых, видно, что оба сообщения об ошибках - оба красных восклицательных знака указывают на одно место - на позицию 48 строки 60 файла "2000dlgc.cpp" (60,48). То, что место одно, говорит, обычно, о том, что ошибка одна. Просто Borland оценил ее с двух точек зрения. Во-вторых, обязательно учитывайте, что Borland указывает не ТОЧНОЕ место ошибки - поскольку правильных вариантов может быть много, Borland не знает, ЧТО Вы хотели написать на самом деле. Итак, позиция, чаще всего стоит ПОСЛЕ места ошибки. И даже нельзя быть уверенным, что ошибка находится в указанной строке. В чем же можно быть уверенным? Да ни в чем! Щелкнем на выделенной строке в окне "Messages", и мы сразу же перенесемся в ПРЕДПОЛАГАЕМОЕ место ошибки. И окажемся перед точкой с запятой в конце команды "MessageBox", на основании чего можно предположить, что ошибка находится в этой команде. Где именно? Подсказка, вообще-то, была - во втором сообщении об ошибке, которое из-за своей длины не убралось на рис.3.2. Полный текст сообщения выглядел так:




Начало  Назад  Вперед