std::abort - cppreference.com
De cppreference.com
</tbody> <tbody class="t-dcl-rev "> </tbody><tbody>
| Definido en el archivo de encabezado |
||
|
|
(hasta C++11) | |
|
|
(desde C++11) | |
Genera una finalización del programa a menos que SIGABRT esté siendo atrapada por un controlador de señales y el controlador no regrese.
No se llama a los destructores de las variables con duración de almacenamiento automática, local al hilo y estática. Tampoco se llama a las funciones pasadas a atexit(). Si se cierran o no recursos abiertos, tales como archivos, está definido por la implementación. Se devuelve un estado definido por la implementación al entorno anfitrión, que indica una ejecución sin éxito.
Parámetros
(Ninguno)
Valor de retorno
(Ninguno)
Excepciones
No lanza nada.
Notas
POSIX especifica que la función abort() redefine bloquear o ignorar la señal SIGABRT.
Ejemplo
#include <csignal> #include <iostream> #include <cstdlib> class Probador { public: Probador() { std::cout << "Probador ctor\n"; } ~Probador() { std::cout << "Probador dtor\n"; } }; Probador probador_estatico; // no se ha llamado al destructor // controlador de señales void signal_handler(int signal) { if (signal == SIGABRT) { std::cerr << "SIGABRT recibida\n"; } else { std::cerr << "Señal no esperada " << signal << " recibida\n"; } std::_Exit(EXIT_FAILURE); } int main() { Probador probador_automatico; // no se ha llamado al destructor // Preparar el controlador auto controlador_anterior = std::signal(SIGABRT, signal_handler); if (controlador_anterior == SIG_ERR) { std::cerr << "Preparación ha fracasado\n"; return EXIT_FAILURE; } std::abort(); // Generar SIGABRT std::cout << "Este código es inalcanzable\n"; }
Salida:
Probador ctor Probador ctor SIGABRT recibida
Véase también
| Produce la terminación normal del programa con limpieza. (función) [editar] | |
| Registra una función a ser llamada cuando se invoque a exit(). (función) [editar] | |
(C++11) |
Produce la terminación normal del programa sin limpiar completamente. (función) [editar] |
(C++11) |
Registra una función a ser llamada cuando se invoque a quick_exit. (función) [editar] |
| Establece un controlador de señales para una señal en particular. (función) [editar] | |
Documentación de C para abort | |