РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
599 of 815 menu

Функция abort

Функция abort аварийно завершает выполнение программы. Она не вызывает деструкторы локальных и глобальных объектов, не выполняет очистку буферов ввода-вывода и не вызывает функции, зарегистрированные через atexit. Функция не принимает параметров и не возвращает значения. При вызове abort программа немедленно завершается с ненулевым кодом возврата, сигнализируя об аварийной ситуации.

Функция объявлена в заголовочном файле <cstdlib>. Обычно она используется для немедленного прекращения работы программы при обнаружении критической ошибки, которую невозможно обработать.

Синтаксис

void abort();

Пример

Давайте вызовем функцию abort при обнаружении критической ошибки. Обратите внимание, что сообщение после вызова abort уже не будет выведено:

#include <iostream> #include <cstdlib> using namespace std; int main() { int value = -1; if (value < 0) { cout << "Critical error!" << endl; abort(); } cout << "This line will not be printed" << endl; return 0; }

Результат выполнения кода:

"Critical error!"

Пример

Давайте убедимся, что при вызове abort деструкторы локальных объектов не выполняются. В данном примере деструктор объекта так и не будет вызван:

#include <iostream> #include <cstdlib> using namespace std; class Test { public: ~Test() { cout << "Destructor called" << endl; } }; int main() { Test obj; cout << "Before abort" << endl; abort(); cout << "After abort" << endl; return 0; }

Результат выполнения кода:

"Before abort"

Смотрите также

  • функция exit,
    которая завершает программу с выполнением очистки
  • функция terminate,
    которая вызывается при необработанном исключении
  • функция atexit,
    которая регистрирует функции для вызова при завершении
  • оператор throw,
    который генерирует исключение
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить