while (условие)
{
try
{
ADOQuery1->ExecSQL();
}
catch (...)
{
ShowMessage("Ошибка!");
}
}
Вопрос по исключениям
Пытаюсь вставить запись в бд. И что бы приложение не обваливалось из-за какой-нибудь фигни (например данные в поле не помещаются) сделал обработку исключения
Код:
при выполнении кода появляется ошибка, исключение ее обрабатывает, выдатеся сообщение "Ошибка!", а выполнение программы останавливается. Разве программа не должна выполнятся дальше? или я чего то не допонля?
Исключение в студию, код тоже... Чисто теоретически Вы правы, программа не должна упасть... а чисто практически она может упасть как результат текущего состояния программы, которая была оборвана в результате генерации исключения. По аналогии с
Цитата: Posix86749
при выполнении кода появляется ошибка, исключение ее обрабатывает, выдатеся сообщение "Ошибка!", а выполнение программы останавливается. Разве программа не должна выполнятся дальше? или я чего то не допонля?
Прога должна остоновиться и цикл while не поможет. Чего хочется получить в итоге ?
Цитата: Airhand
Прога должна остоновиться и цикл while не поможет. Чего хочется получить в итоге ?
Хочется что бы когда происходила ошибка вставки строки в таблицу, программа выполняла какие-то действия (например чего-нить писала в лог), пропускала косячную запись и дальше работала
Цитата: Posix86749
Хочется что бы когда происходила ошибка вставки строки в таблицу, программа выполняла какие-то действия (например чего-нить писала в лог), пропускала косячную запись и дальше работала
Тогда просто try...catch(). В блоке catch описываеш то, что должна делать прога в случае ошибки: писать в лог и пытаться снова вставить запись в базу.