Compartilhar via


current_exception

Obtém um ponteiro inteligente para a exceção atual.

exception_ptr current_exception();

Valor de retorno

Um objeto exception_ptr que aponta para a exceção atual.

Comentários

Chame a função current_exception em um bloco catch. Se uma exceção estiver em voo e o bloco catch puder capturar a exceção, a função current_exception retornará um objeto exception_ptr que faz referência à exceção. Caso contrário, a função retornará um objeto exception_ptr nulo.

A função current_exception captura a exceção que está em voo, independentemente de a instrução catch especificar uma instrução de declaração de exceção.

O destruidor da exceção atual será chamado no fim do bloco catch se você não puder relançar a exceção. No entanto, mesmo que você chame a função current_exception no destruidor, a função retornará um objeto exception_ptr que faz referência à exceção atual.

As chamadas sucessivas à função current_exception retornam objetos exception_ptr que se referem a diferentes cópias da exceção atual. Consequentemente, os objetos são comparados como diferentes, pois se referem a diferentes cópias, mesmo quando as cópias têm o mesmo valor binário.

Consulte também

Referência

<exception>

Transportando exceções entre threads