<Exception>
Funciones de exception:
Make_exception_pt:
Devuelve un “exception_ptrobjeto”
que apunta a una copia del correo . El comportamiento de esta plantilla de
función es equivalente a:
Exception_ptr es
un compartido tipo puntero inteligente: garantiza la excepción en punta mientras siga siendo válida durante el tiempo que al menos un “exception_ptr” apunta a
la misma. Ver “exception_ptr” para más “info”. Esta función emite ninguna
excepción, pero si la función se implementa como devolver un puntero a una
copia de la excepción actualmente manejado, puede devolver un puntero a una
excepción diferente si no logra asignar almacenamiento (bad_alloc) O si el
proceso de copia falla (devuelve la excepción lanzada o “bad_exception”. Si es
posible; o algún otro valor especificado, de lo contrario).
Rethrow_exception:
Rethrow_if_nested:
Lanza la
excepción añadida en correo, si (y sólo si) “e” está públicamente y sin
ambigüedades derivada “denested_exception”. De lo contrario, la función no hace
nada (y no lanza). Si la excepción añadida es nula, las llamadas de función
terminaran en su lugar.
Set_terminate:
F se
establece como la función de controlador de terminar.
Una función
de controlador de terminar es una función llamada automáticamente cuando el
proceso de control de excepciones tiene que ser abandonado por alguna razón.
Esto ocurre cuando no hay controlador de tipo “catch" puede encontrarse
una excepción lanzada, o por alguna otra circunstancia excepcional que hace
imposible continuar el proceso de control de excepciones.
Antes de esta
función es llamada por el programa por primera vez, el comportamiento predeterminado
es llamar a abortar.
Un programa
puede explícitamente llamar a la corriente y terminar la función controladora
llamando al terminar.
Set_unexpected:
F se
establece como la función de controlador inesperado.
La función de
controlador inesperado es una función llamada automáticamente cuando una
función produce una excepción que no está en su dinámica-excepción-especificación
(es decir, en su especificador de tiro).
La función de
controlador inesperado puede manejar la excepción y terminará por ”teminating“(llamada
terminar o algún otro método, como salida o interrupción) o lanzando una
excepción (incluso para la misma excepción otra vez). Si la excepción lanzada
(o detectar) no está en la función dinámica-excepción-especificación pero es “bad_exception”,
un “bad_exception“ es lanzado. De lo contrario, si no es la excepción nueva en
la dinámica-excepción-especificación tampoco, terminar se llama
automáticamente.
Antes de esta
función es llamada por el programa por primera vez, el comportamiento
predeterminado es llamar a terminar.
Terminate:
El actual controlador de terminar las llamadas.
De forma predeterminada, las llamadas del controlador de
terminar abortan. Pero este comportamiento puede ser redefinido por llamando al
“set_terminate”.
Esta función se llama automáticamente cuando no hay
controlador de tipo “catch” puede encontrarse una excepción lanzada, o por alguna
otra circunstancia excepcional que hace imposible continuar el proceso de
control de excepciones.
Esta función se proporciona para que el controlador
determinar puede llamarse explícitamente por un programa que necesita para
terminar anormalmente y funciona incluso si “set_terminate” no se ha utilizado
para establecer un controlador personalizado terminado (llamando a abortar en
este caso).
No hay comentarios.:
Publicar un comentario