Compartir a través de


current_exception

Obtiene un puntero inteligente a la excepción actual.

exception_ptr current_exception();

Valor devuelto

Objeto exception_ptr que apunta a la excepción actual.

Comentarios

Llame a la función current_exception en un bloque catch. Si una excepción está en vuelo y el bloque catch puede detectarla, la función current_exception devuelve un objeto exception_ptr que hace referencia a la excepción. De lo contrario, la función devuelve un objeto exception_ptr NULL.

La función current_exception captura la excepción que está en vuelo independientemente de si la instrucción catch especifica una instrucción de declaración de excepción o no.

Se llama al destructor de la excepción actual al final del bloque catch si no vuelve a producir la excepción. Sin embargo, incluso aunque llame a la función current_exception en el destructor, la función devuelve un objeto exception_ptr que hace referencia a la excepción actual.

Las llamadas sucesivas a la función current_exception devuelven objetos exception_ptr que hacen referencia a distintas copias de la excepción actual. Por tanto, al comparar los objetos se consideran diferentes porque hacen referencia a copias distintas, incluso aunque las copias tengan el mismo valor binario.

Vea también

Referencia

<exception>

Transportar excepciones entre subprocesos