protecting Promises against exceptions to avoid deadlocks