The Effects clause The future returned by when_all will not throw an exception, but the futures held in the output collection may. I would say The future returned by when_all will not throw an exception when calling wait() or get(), but the futures held in the output collection may.