passing exception through future and promise