Método promise::set_exception_at_thread_exit
Define de maneira atômica o resultado dessa promise para indicar uma exceção, entregando a notificação somente quando todos os objetos locais do thread no thread atual forem destruídos (geralmente na saída do thread).
void set_exception_at_thread_exit(exception_ptr Exc);
Parâmetros
- Exc
Um exception_ptr que é armazenado por esse método como resultado de exceção.
Comentários
Se o objeto de promessa não tiver nenhum estado assíncrono associado, esse método gerará um future_error que tem um código de erro de no_state.
Se set_exception, set_exception_at_thread_exit, set_value, ou set_value_at_thread_exit já tiver sido chamado para um objeto de promise que tem o mesmo estado assíncrono associado, esse método gerará um future_error que tem um código de erro de promise_already_satisfied.
Em contraste com set_exception, este método não define o estado assíncrono associado para "pronto" até que os objetos locais do segmento no segmento atual tenham sido destruídos. Normalmente, os threads que estão bloqueados no estado assíncrono associado não são desbloqueados até que o thread atual seja encerrado.
Requisitos
Cabeçalho: futuro
std de Namespace: