Namespaces
Variants

abort

From cppreference.net
Definiert in Header <stdlib.h>
void abort ( void ) ;
(bis C11)
_Noreturn void abort ( void ) ;
(seit C11)
(bis C23)
[ [ noreturn ] ] void abort ( void ) ;
(seit C23)

Verursacht einen abnormalen Programmabbruch, es sei denn SIGABRT wird von einem Signalhandler abgefangen, der an signal übergeben wurde, und der Handler kehrt nicht zurück.

An Funktionen, die an atexit() übergeben wurden, wird nicht aufgerufen. Ob geöffnete Ressourcen wie Dateien geschlossen werden, ist implementierungsdefiniert. Ein implementierungsdefinierter Status wird an die Host-Umgebung zurückgegeben, der eine nicht erfolgreiche Ausführung anzeigt.

Inhaltsverzeichnis

Parameter

(keine)

Rückgabewert

(keine)

Hinweise

POSIX spezifiziert , dass die abort() -Funktion das Blockieren oder Ignorieren des SIGABRT -Signals außer Kraft setzt.

Einige Compiler-Intrinsics, z.B. __builtin_trap (gcc, clang, und icc) oder __fastfail / __debugbreak (msvc), können verwendet werden, um das Programm so schnell wie möglich zu beenden.

Beispiel

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    FILE *fp = fopen("data.txt","r");
    if (fp == NULL)
    {
        fprintf(stderr, "error opening file data.txt in function main()\n");
        abort();
    }
    /* Normal processing continues here. */
    fclose(fp);
    printf("Normal Return\n");
    return 0;
}

Ausgabe:

error opening file data.txt in function main()

Referenzen

  • C17-Standard (ISO/IEC 9899:2018):
  • 7.22.4.1 Die abort-Funktion (S. 255)
  • C11-Standard (ISO/IEC 9899:2011):
  • 7.22.4.1 Die abort-Funktion (S: 350)
  • C99-Standard (ISO/IEC 9899:1999):
  • 7.20.4.1 Die abort-Funktion (S. 315)
  • C89/C90 Standard (ISO/IEC 9899:1990):
  • 4.10.4.1 Die abort-Funktion

Siehe auch

bewirkt normalen Programmabbruch mit Bereinigung
(Funktion)
registriert eine Funktion, die beim Aufruf von exit() aufgerufen wird
(Funktion)
bewirkt normalen Programmabbruch ohne vollständige Bereinigung
(Funktion)