1.2 KiB
1.2 KiB
Finally или просто код?
[importance 5]
Сравните два фрагмента кода.
- Первый использует `finally` для выполнения кода по выходу из `try..catch`:
try { начать работу работать } catch (e) { обработать ошибку } finally { *!* финализация: завершить работу */!* }
- Второй фрагмент просто ставит очистку ресурсов за `try..catch`:
try { начать работу } catch (e) { обработать ошибку } *!* финализация: завершить работу */!*
Нужно, чтобы код финализации всегда выполнялся при выходе из блока try..catch
и, таким образом, заканчивал начатую работу. Имеет ли здесь finally
какое-то преимущество или оба фрагмента работают одинаково?
Если имеет, то дайте пример когда код с finally
работает верно, а без -- неверно.