Обработка ошибок и исключений. Классы исключений стандартной библиотеки

   
На этом шаге мы перечислим классы исключений стандартной библиотеки.

   
Классы исключений стандартной библиотеки C++ обычно являются производными от класса logic_error.
К категории логических ошибок относятся ошибки, которые (по крайней мере, теоретически) можно предотвратить, например,
дополнительной проверкой аргументов функции. В частности, к логическим ошибкам относится нарушение логических предусловий
или инварианта класса.

   
Замечание.
Инвариантом класса называется утверждение, которое должно быть истинным при создании каждого экземпляра объекта класса и
сохранять свое значение в течение всего времени жизни объекта.

   
Стандартная библиотека C++ содержит следующие классы логических ошибок:

  • исключение класса invalid_argument сообщает о недопустимых значениях аргументов, например, когда битовые поля
    (массивы битов) инициализируются данными char, отличными от 0 и 1;
  • исключение класса length_error сообщает о попытке выполнения операции, нарушающей ограничения
    на максимальный размер, например, при присоединении к строке слишком большого количества символов;
  • исключение класса out_of_range сообщает о том, что аргумент не входит в интервал допустимых
    значений, например, при использовании неправильного индекса в коллекциях наподобие массивов или в строках;
  • исключение класса domain_error сообщает об ошибке выхода за пределы области допустимых значений.

   
Кроме того, в подсистеме ввода-вывода определен специальный класс исключения ios_base::failure. Это исключение обычно
генерируется при изменении состояния потока вследствие ошибки или достижения конца файла.

   
На следующем шаге мы рассмотрим классы исключений для внешних ошибок.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий