Вопросы к Поиску с Алисой
Механизм deferred вызовов положительно влияет на эффективность обработки исключений. habr.com
Deferred хранит цепочку обработчиков: обработчиков результатов (callback) и обработчиков ошибок (errback). habr.com В зависимости от результата (успешное выполнение или исключение) выбирается соответствующая ветвь обработчиков. habr.com
Если в процессе выполнения обработчика было выкинуто исключение или возвращено значение типа Failure, управление передаётся errback на следующем уровне, который получает исключение в качестве параметра. habr.com Если же callback или errback завершается возвратом значения, которое не является Failure, выполнение считается успешным и полученный результат отправляется на вход callback-обработчику на следующем уровне. habr.com
Кроме того, при возникновении программной ошибки (исключительной ситуации) функция может завершиться, так и не добравшись до cleanup-кода, что может породить утечку ресурсов. learning.infoteam.msk.ru Отложенная через defer функция выполнится в любом случае за редким исключением. learning.infoteam.msk.ru