Шаг 47.
Библиотека STL.
Обработка ошибок и исключений. Классы исключений стандартной библиотеки
На этом шаге мы перечислим классы исключений стандартной библиотеки.
Классы исключений стандартной библиотеки C++ обычно являются производными от класса logic_error.
К категории логических ошибок относятся ошибки, которые (по крайней мере, теоретически) можно предотвратить, например,
дополнительной проверкой аргументов функции. В частности, к логическим ошибкам относится нарушение логических предусловий
или инварианта класса.
Замечание.
Инвариантом класса называется утверждение, которое должно быть истинным при создании каждого экземпляра объекта класса и
сохранять свое значение в течение всего времени жизни объекта.
Стандартная библиотека C++ содержит следующие классы логических ошибок:
- исключение класса invalid_argument сообщает о недопустимых значениях аргументов, например, когда битовые поля
(массивы битов) инициализируются данными char, отличными от 0 и 1;
- исключение класса length_error сообщает о попытке выполнения операции, нарушающей ограничения
на максимальный размер, например, при присоединении к строке слишком большого количества символов;
- исключение класса out_of_range сообщает о том, что аргумент не входит в интервал допустимых
значений, например, при использовании неправильного индекса в коллекциях наподобие массивов или в строках;
- исключение класса domain_error сообщает об ошибке выхода за пределы области допустимых значений.
Кроме того, в подсистеме ввода-вывода определен специальный класс исключения ios_base::failure. Это исключение обычно
генерируется при изменении состояния потока вследствие ошибки или достижения конца файла.
На следующем шаге мы рассмотрим классы исключений для внешних ошибок.
Предыдущий шаг
Содержание
Следующий шаг