т.e. ты хочешь сказать что вызов эффекта возвращает промис, который никогда не вызовет .catch?
нет, не так.
catch возвращает новый промис, но он не возвращается из defer, а возвращается оригинальный промис.
но, скажем так, ветка catch покрыта, и движок не должен ругаться на unhandled exception