![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
TemichRus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.1.2012 Репутация: нет Всего: нет |
Подскажите пожалуйста, чем отличается try-except от try-finally, кроме того, что finally выполняется всегда, а except только когда ошибка. И что происходит, поподробнее, когда ошибка обрабатывается и что после обработки в обоих обработках исключений.
|
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
А этого мало, что ли? Т.е.? -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
TemichRus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.1.2012 Репутация: нет Всего: нет |
Т.е. преподаватель задал такой вопрос, я ему ответил, а он объяснил что еще есть отличия, связано с тем куда переходит объект обработки после обработки исключения ( что то в этом роде) =)
|
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
А что такое "объект обработки"? Переходить управление программой может.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
TemichRus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.1.2012 Репутация: нет Всего: нет |
try
операторы except on имя1: тип do оператор on имя2: тип do оператор и т.д. end; Представим произошла ошибка что дальше произойдет? |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Выполнится код после except в зависимости от типа ошибки (имя1 или имя2).
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
TemichRus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.1.2012 Репутация: нет Всего: нет |
Тогда конкретнее если в блоке except-end нету ничего то что дальше произойдет? Я понимаю что в конце концов программа закроется. Но что-то перед закрытием происходит же? Что конкретно
|
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Выполнится оператор, который следует за end.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: нет Всего: 15 |
У этих конструкций есть еще одна разница в работе, кроме того, что код между finally-end выполняется всегда, а между except-end только если между try-except произойдет исключение.
При исключении - try-except-end перехватить его и дальше пойдет исполнятся код который после end (пользователь не увидит никаких ошибок). В try-finally-end при исключении в try-finally - выполнится код в finally-end и пропустит исключение дальше (пользователь увидит ошибку). Это все грубо говоря. Это все есть в хелпе. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |