Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2009, 18:20   #1
mosq
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 90
По умолчанию try.. except.. end;

возможна ли такая структура?
Код:
try //1
...
 try //2
 ... 
 except //2
 ...
 end; //2
..
except //1
..
end; //1
вопрос в том, если в //2 возникает except, то для //1 это считается exception?
mosq вне форума Ответить с цитированием
Старый 30.09.2009, 18:40   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

except //2
если исключение было обработано
on e: exceptionXtype do
begin
то, чтобы это исключениe проявилось и в охватывающем блоке try(//1)
неоходимо возобновить исключение
добавить
raise;
end;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 30.09.2009, 18:42   #3
Daramant
Форумчанин
 
Регистрация: 06.01.2009
Сообщений: 340
По умолчанию

Цитата:
вопрос в том, если в //2 возникает except, то для //1 это считается exception?
ответ: нет, не считается.

Для того, чтобы исключение в //2 обрабатывалось и в //1, необходимо его вызвать повторно, а именно:
Код:
  try //1
    ...
     try //2
       ... 
     except //2
       ...
       raise;
     end; //2
    ...
  except //1
  ...
  end; //1
-----------
Добавлено:
evg_m опередил).
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Daramant вне форума Ответить с цитированием
Старый 30.09.2009, 18:49   #4
mosq
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 90
По умолчанию

у меня задача как раз наоборот, чтобы блок //1 продолжил выполнение команд, если вдруг в //2 возникнет глюк.
все понял, спасибо. всем по респекту в профиль
mosq вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверить соответствие слов begin end..... RasKolnikoV Помощь студентам 3 13.05.2009 16:17
Проблема TRY ... EXCEPT ... END chandrasecar Общие вопросы Delphi 4 05.11.2008 01:17
expected END but : found qqanton Помощь студентам 2 31.10.2008 17:45