| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > правильно использовать TRY |
| Автор: h2o 20.12.2005, 15:07 | ||
| в каких случаях используется эта конструкция понятно! Не понятно для каких действий её можно использовать.... например когда использую FindNext() она нужна? или ещё такаой вариант:
вообще можно ли использовать такую конструкцию или это чем-то черевато, может последствия могут где-то выплыть??? |
| Автор: _hunter 20.12.2005, 15:22 |
| для каких действий? для осовобождения ресурсов в случае ошибки т.к. нужно вызывать FindClose() -- нужна. что значит можно ли? -- нужно... а, вообще, это в любой книжке есть... |
| Автор: h2o 20.12.2005, 15:39 |
| да просто try-finally заключен в try-except, я дусаю вдруг из-за этого ошибки или другие косяки могут быть... я просто кучу примеров смотрел и ни разу не видел чтобы такое использовалось! |
| Автор: Snowy 20.12.2005, 16:20 |
| Просто Finally не дает вывести сообщение в случае ошибки. Поэтому, если мы хотим finally, но при этом и ошибку фиксировать, то дополнительно заключаем в try except. |
| Автор: StayAtHome 20.12.2005, 16:39 |
| Кхм, насколько я понимаю try-except должен находиться _внутри_ try-finally, а не наоборот, как вбыло вышенаписано? |
| Автор: _hunter 20.12.2005, 16:43 |
| а разницы? |
| Автор: h2o 20.12.2005, 17:11 |
| да, есть ли разьница? Добавлено @ 17:11 хотя вроде ошибку и так выводит.... |
| Автор: StayAtHome 20.12.2005, 17:43 |
| Насколько припоминаю, exception за пределы try-finally не выходит. Т. е. если try-finally внутри try-except, то блок except-end никогда выполняться не будет, т.к. все exception'ы будет перехватывать и "глушить" try-finally. |
| Автор: Snowy 20.12.2005, 17:54 | ||||
Нет, именно так.
Вложения нормально отрабатывают. Обычная практика. |
| Автор: _hunter 20.12.2005, 17:59 | ||
ну и запустил бы ради интереса:
выведутся оба message' а |
| Автор: StayAtHome 20.12.2005, 18:02 |
| Да нет делфи под руками, сорри за дезу |