abort
From cppreference.com
C
Concurrency support (C11)
Program support utilities
Program termination
Unreachable control flow
(C23)
Communicating with the environment
(C11)
Memory alignment query
(C23)
Signals
Signal types
Non-local jumps
Types
Defined in header
<stdlib.h>
void abort(void);
(until C11)
_Noreturn void abort(void);
(since C11) (until C23)
[[noreturn]] void abort(void);
(since C23)
Causes abnormal program termination unless SIGABRT is being caught by a signal handler passed to signal and the handler does not return.
Functions passed to atexit() are not called. Whether open resources such as files are closed is implementation defined. An implementation defined status is returned to the host environment that indicates unsuccessful execution.
[edit] Parameters
(none)
[edit] Return value
(none)
[edit] Notes
POSIX specifies that the abort()
function overrides blocking or ignoring the SIGABRT
signal.
Some compiler intrinsics, e.g. __builtin_trap
(gcc, clang, and icc) or __fastfail
/__debugbreak
(msvc), can be used to terminate the program as fast as possible.
[edit] Example
Run this code
Output:
error opening file data.txt in function main()
[edit] References
- C17 standard (ISO/IEC 9899:2018):
- 7.22.4.1 The abort function (p: 255)
- C11 standard (ISO/IEC 9899:2011):
- 7.22.4.1 The abort function (p: 350)
- C99 standard (ISO/IEC 9899:1999):
- 7.20.4.1 The abort function (p: 315)
- C89/C90 standard (ISO/IEC 9899:1990):
- 4.10.4.1 The abort function
[edit] See also
C++ documentation for abort