Добавить в корзинуПозвонить
Найти в Дзене
Old Programmer

C++. Обработка исключений. Стандартная библиотека exception. Статья 2

Все ссылки на статьи и ролики моего канала Old Programmer:
Программирование. Тематическое оглавление моего Zen-канала (Old Programmer). А вот ссылки на статьи по языку C и C++. Сегодня продолжаем говорить о исключениях в языке C++. При этом забегаем немного вперед, так как начинаем использовать стандартные библиотеки C++. С другой стороны, я и не обещал строго следовать логической последовательности тем. Где-то это следование выполняется, где-то нет. Однако я чувствую, что следует начать уже и большую тему под названием Стандартные библиотеки C++. Некоторое время назад меня упрекнули, что я называю языком C++ по-сути язык C, но с классами, так как в программе я использовал стандартные библиотеки C. Я с этим не согласился. В стандарте C++ ведь допускается использовать стандартные библиотеки C и совсем не обязывают вас использовать стандартные библиотеки C++. Стандартные исключения в C++ В C++ есть стандартная библиотека классов, обслуживающая некоторый набор исключений. Библиоте

Все ссылки на статьи и ролики моего канала Old Programmer:
Программирование. Тематическое оглавление моего Zen-канала (Old Programmer). А вот ссылки на статьи по языку C и C++.

Сегодня продолжаем говорить о исключениях в языке C++. При этом забегаем немного вперед, так как начинаем использовать стандартные библиотеки C++. С другой стороны, я и не обещал строго следовать логической последовательности тем. Где-то это следование выполняется, где-то нет. Однако я чувствую, что следует начать уже и большую тему под названием Стандартные библиотеки C++.

  • Обработка критических ситуаций в языках программирования. Обзор ресурсов
  • Исключения в языке C++: try, catch, throw. Статья 1
  • Список разделов канала Old Programmer, канала о программировании и программистах

Некоторое время назад меня упрекнули, что я называю языком C++ по-сути язык C, но с классами, так как в программе я использовал стандартные библиотеки C. Я с этим не согласился. В стандарте C++ ведь допускается использовать стандартные библиотеки C и совсем не обязывают вас использовать стандартные библиотеки C++.

Стандартные исключения в C++

В C++ есть стандартная библиотека классов, обслуживающая некоторый набор исключений. Библиотека подключается командой

# include <exception>

Не забываем (но мы опубликуем по С++ отдельную статью), что стандартные библиотеки классов C++ находятся в пространстве имен std.

Пример использования стандартной библиотеки исключений представлен в программе tr4002.cpp. В ней обрабатывается ошибка, связанная с попыткой выделить слишком много памяти. Используется родительский для все других классов стандартных исключений exception. Метод what() позволяет вывести краткое сообщение об ошибке.

Скомпилировать программу можно командой

g++ tr4002.cpp

Класс exception является родительским классом для остальных классов обработки стандартных исключений. Все эти стандартные классы представлены на рисунке 1.

Рисунок 1. Стандартные исключения в  C++
Рисунок 1. Стандартные исключения в C++

Пока! Будем программировать с удовольствием и на C++. Подписываемся на мой канал Old Programmer.

Программа tr4002.cpp
Программа tr4002.cpp