![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
try ... finally [D5, Win2k]
Урри © (2003-02-04 12:53:00)Мастера, имеется:
try
StatementList1;
finally
StatementList2;
end;
Подскажите, пожалуйста, возможно ли определить в секции finally было ли исключение в StatementList1 или же я попал туда "нормальным" путем?
Урри (2003-02-05 08:47:00) [1]Разобрался, всем спасибо за помощь.
Anatoly Podgoretsky (2003-02-04 14:17:00) [2]Тоже хорошо и без лишней обработки исключения.
Digitman (2003-02-04 14:12:00) [3]try
a:= 1;
StatementList1;
a:= 2;
finally
if a = 1 then
StatementList2 // exception in StatementList1;
else
StatementList3;// no exceptions in StatementList1;
end;
AGGRESSOR (2003-02-04 13:55:00) [4]Да, это не всегда приемлимо, и зависит от ситуации, но частенько помагает. Например, завершение работы в винде. Для 2000 нужны привилегии, а потом ExitWindowsEx, а 98 их не понимает. Вот и делаю
try
set privileges...
ExitW...
except
ExitW...
Anatoly Podgoretsky (2003-02-04 13:49:00) [5]Вот таких советов не надо.
AGGRESSOR (2003-02-04 13:39:00) [6]Правильно говорят, используй except, что-то вроде этого для твоего случая:
try
StatementList1;
StatementList2;
except
MsgBox("Error!");
StatementList2;
end;
Anatoly Podgoretsky (2003-02-04 13:03:00) [7]Почему бы тогда не создать блок try except end?
Игорь Шевченко (2003-02-04 12:54:00) [8]Нет