![]() |
|
|
|
|
#1
|
||||
|
||||
|
Доброго времени суток!
У меня есть вопрос (вот уж действительно для начинающих ):Код:
try ... finally ... end; Что это такое и как этим пользоваться? |
|
#2
|
||||
|
||||
|
Начнем по порядку. Полный вид конструкции выглядит так:
Код:
try ... except ... finally ... end; Для чего нужно? Для обработки исключений. Например Код:
try F:=StrToFloat(S);//Переобразование типов except Application.MessageBox(Application.Handle,'Неправильный формат данных!','Ошибка',MB_OK);//Если возникло исключение (т.е. ошибка) преобразования, тогда вывести MessageBox. finally //А вот в данном блоке идет код который будет выполняться независимо от того было исключение или нет //Например Application.MessageBox(Application.Handle,'Обработка данных завершена' данных!','Инфо',MB_OK); end; Чаще всего используется связка try ... except ... end; . |
|
#3
|
||||
|
||||
|
Большое спасибо! Всё понятно
![]() |
|
#4
|
||||
|
||||
|
Thrasher, глупости Вы говорите.
Есть 2 разные конструкции: Код:
try
...{блок кода 1.1}
except
...{блок кода 1.2}
end;Код:
try
...{блок кода 2.1}
finally
...{блок кода 2.2}
end;{блок кода 1.2} будет выполнен только в том случае если в {блок кода 1.1} будет сгенерирована ошибка. Для второй конструкции: {блок кода 2.2} будет выполнен в любом случае, даже если в {блок кода 2.1} будет сгенерирована ошибка и он выполнится не полностью, а только частично. А код приведенный Thrasher не будет даже компилироваться. На будующее советую перед тем как давать советы в виде кода пробовать его на работоспособность. |
|
#5
|
||||
|
||||
|
Прошу прощения за ложную информацию, Aristarh Dark, рассказал как есть на самом деле. Такой код, как привёл я не будет компилироваться. Впредь буду внимательнее.
|