GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • TUTORIALS
  • REFERENCE
  • ARTICLES
  • FORUM
  • C library:
  • <cassert> (assert.h)
  • <cctype> (ctype.h)
  • <cerrno> (errno.h)
  • <cfenv> (fenv.h)
  • <cfloat> (float.h)
  • <cinttypes> (inttypes.h)
  • <ciso646> (iso646.h)
  • <climits> (limits.h)
  • <clocale> (locale.h)

This view

  • Original page
  • New address

GeezerVison is showing cplusplus.com — abort

  • TUTORIALS
  • REFERENCE
  • ARTICLES
  • FORUM

C++

  • Tutorials
  • Reference
  • Articles
  • Forum

Reference

  • C library:

    • <cassert> (assert.h)
    • <cctype> (ctype.h)
    • <cerrno> (errno.h)
    • C++11
      <cfenv> (fenv.h)
    • <cfloat> (float.h)
    • C++11
      <cinttypes> (inttypes.h)
    • <ciso646> (iso646.h)
    • <climits> (limits.h)
    • <clocale> (locale.h)
    • <cmath> (math.h)
    • <csetjmp> (setjmp.h)
    • <csignal> (signal.h)
    • <cstdarg> (stdarg.h)
    • C++11
      <cstdbool> (stdbool.h)
    • <cstddef> (stddef.h)
    • C++11
      <cstdint> (stdint.h)
    • <cstdio> (stdio.h)
    • <cstdlib> (stdlib.h)
    • <cstring> (string.h)
    • C++11
      <ctgmath> (tgmath.h)
    • <ctime> (time.h)
    • C++11
      <cuchar> (uchar.h)
    • <cwchar> (wchar.h)
    • <cwctype> (wctype.h)
  • Containers:

    • C++11
      <array>
    • <deque>
    • C++11
      <forward_list>
    • <list>
    • <map>
    • <queue>
    • <set>
    • <stack>
    • C++11
      <unordered_map>
    • C++11
      <unordered_set>
    • <vector>
  • Input/Output:

    • <fstream>
    • <iomanip>
    • <ios>
    • <iosfwd>
    • <iostream>
    • <istream>
    • <ostream>
    • <sstream>
    • <streambuf>
  • Multi-threading:

    • C++11
      <atomic>
    • C++11
      <condition_variable>
    • C++11
      <future>
    • C++11
      <mutex>
    • C++11
      <thread>
  • Other:

    • <algorithm>
    • <bitset>
    • C++11
      <chrono>
    • C++11
      <codecvt>
    • <complex>
    • <exception>
    • <functional>
    • C++11
      <initializer_list>
    • <iterator>
    • <limits>
    • <locale>
    • <memory>
    • <new>
    • <numeric>
    • C++11
      <random>
    • C++11
      <ratio>
    • C++11
      <regex>
    • <stdexcept>
    • <string>
    • C++11
      <system_error>
    • C++11
      <tuple>
    • C++11
      <type_traits>
    • C++11
      <typeindex>
    • <typeinfo>
    • <utility>
    • <valarray>

<cstdlib> (stdlib.h)

  • functions

    • C++11
      _Exit
    • abort
    • abs
    • C++11
      at_quick_exit
    • atexit
    • atof
    • atoi
    • atol
    • C++11
      atoll
    • bsearch
    • calloc
    • div
    • exit
    • free
    • getenv
    • labs
    • ldiv
    • C++11
      llabs
    • C++11
      lldiv
    • malloc
    • mblen
    • mbstowcs
    • mbtowc
    • qsort
    • C++11
      quick_exit
    • rand
    • realloc
    • srand
    • strtod
    • C++11
      strtof
    • strtol
    • C++11
      strtold
    • C++11
      strtoll
    • strtoul
    • C++11
      strtoull
    • system
    • wcstombs
    • wctomb
  • functions (non-standard)

    • itoa
  • types

    • div_t
    • ldiv_t
    • C++11
      lldiv_t
    • size_t
  • macro constants

    • EXIT_FAILURE
    • EXIT_SUCCESS
    • MB_CUR_MAX
    • NULL
    • RAND_MAX
  • Reference
  • <cstdlib>
  • abort
function
<cstdlib>

abort

void abort (void);
[[noreturn]] void abort() noexcept;
Abort current process
Aborts the current process, producing an abnormal program termination.

The function raises the SIGABRT signal (as if raise(SIGABRT) was called). This, if uncaught, causes the program to terminate returning a platform-dependent unsuccessful termination error code to the host environment.

The program is terminated without destroying any object and without calling any of the functions passed to atexit or at_quick_exit.

Parameters

none

Return Value

none (the function never returns).

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* abort example */
#include <stdio.h>      /* fopen, fputs, fclose, stderr */
#include <stdlib.h>     /* abort, NULL */

int main ()
{
  FILE * pFile;
  pFile= fopen ("myfile.txt","r");
  if (pFile == NULL)
  {
    fputs ("error opening file\n",stderr);
    abort();
  }

  /* regular process here */

  fclose (pFile);
  return 0;
}

If myfile.txt does not exist, a message is printed and abort is called.

Data races

Concurrently calling this function is safe, causing no data races.
Note though that its handling process may affect all threads.

Exceptions (C++)

If no function handlers have been defined with signal to handle SIGABRT, the function never throws exceptions (no-throw guarantee).
Otherwise, the behavior depends on the particular library implementation.

See also

exit
Terminate calling process (function)
atexit
Set function to be executed on exit (function)
Home page | Privacy policy
© cplusplus.com, 2000-2026 - All rights reserved - v3.3.4s
Spotted an error? contact us
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.