Namensräume
Varianten
Aktionen

abort

Von cppreference.com
Definiert im Header <stdlib.h>
void abort(void);
(bis C11)
_Noreturn void abort(void);
(seit C11)
(bis C23)
[[noreturn]] void abort(void);
(seit C23)

Verursacht eine abnormale Programmbeendigung, es sei denn, SIGABRT wird von einem an signal übergebenen Signalhandler abgefangen und der Handler gibt nicht zurück.

An atexit() übergebene Funktionen werden nicht aufgerufen. Ob offene Ressourcen wie Dateien geschlossen werden, ist implementierungsabhängig. Ein implementierungsabhängiger Status wird an die Host-Umgebung zurückgegeben, der eine erfolglose Ausführung anzeigt.

Inhalt

[bearbeiten] Parameter

(keine)

[bearbeiten] Rückgabewert

(keine)

[bearbeiten] Anmerkungen

POSIX spezifiziert, dass die Funktion abort() das Blockieren oder Ignorieren des SIGABRT-Signals überschreibt.

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.

[bearbeiten] 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()

[bearbeiten] Referenzen

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

[bearbeiten] Siehe auch

verursacht normalen Programmabbruch mit Bereinigung
(Funktion) [bearbeiten]
registriert eine Funktion, die beim Aufruf von exit() aufgerufen werden soll
(Funktion) [bearbeiten]
verursacht eine normale Programmbeendigung ohne vollständige Bereinigung
(Funktion) [bearbeiten]