![]() |
|
||||||||||
|
|||||
|
Как-то никогда раньше не задумывался, зачем нужен блок finally, да и не пользовался никогда.
Покажите, пожалуйста, хотя бы один пример где он реально нужен.
__________________
Дело не в тебе |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
Для перехвата исключения, возвращенного проигрывателем Flash Player или пользовательским кодом, вставьте код, который может выдать исключение, в блок try. Если какой-либо код в блоке try выдаст исключение, управление передается блоку catch, при его наличии, затем блоку finally, если такой существует. Блок finally всегда выполняется, независимо от того, было ли возвращено исключение. Если код в блоке try не выдаст исключение (т. е. при нормальном выполнении блока try), код в блоке catch игнорируется, но код в блоке finally все же выполняется. Блок finally выполняется, даже если блок try завершается командой return.
... Если ошибка произошла в функции, которая не содержит обработчик catch, проигрыватель Flash Player завершает выполнение этой функции, а также вызывающих функций, пока не будет найден блок catch. Во время этого процесса обработчики finally вызываются на всех уровнях. |
|
|||||
|
Ну и что? Это я знаю. А что мешает просто написать код вне блока try?
Добавлено через 1 минуту А, стоп. Если в блоке try ошибок не сгенерировалось, но метод завершился выражением return, то блок finally все равно выполнится перед выходом из функции? Было бы здорово посмотреть на живой пример, а то я не совсем представляю область применения finally.
__________________
Дело не в тебе Последний раз редактировалось AL.exe; 23.07.2009 в 22:38. |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 126
|
Сравните:
и Во втором случае "код вне блока try" не выполнится, если я не ошибаюсь (: |
|
|||||
|
стервочка (я мужик)
|
sospamom, не выполнится. так как код написан с ошибкой.
|
|
|||||
|
Регистрация: Jun 2008
Сообщений: 126
|
BlooDHounD
Я не понял о какой ошибке вы говорите. |
|
|||||
|
стервочка (я мужик)
|
sospamom, о той, которая не даст скомпилироваться Вашему коду.
и не расстраивайтесь, всё равно Вы ошибаетесь. |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 126
|
try{ try{ throw new Error(); } finally { trace('код внутри finally'); } trace('код вне блока finally'); } catch(error:Error){ trace('код внутри catch'); } код внутри finally код внутри catch |
|
|||||
|
to @sospamon:
это что за презентация? |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:17. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|