Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лекции программирование / polevoy_cpp_2012_spring_lecture_06

.pdf
Скачиваний:
32
Добавлен:
20.04.2015
Размер:
124 Кб
Скачать
☆

Стандартные исключения (фрагмент иерархии)

exception

–logic_error

•length_error – неверная длина

•out_of_range – выход за пределы диапазона

•invalid_argument – неверный аргумент

–runtime_error

•range_error – ошибка диапазона

•overflow_error – переполнение

–bad_alloc

17.03.2012

cppNewb.ru

41

Где перехватывать исключения?

•там, где есть достаточно информации для обработки сбоя

•с целью

–обработать сбой

–преобразовать исключение

–соблюсти границы подсистем

17.03.2012

cppNewb.ru

42

Гарантии безопасности исключений

•базовая гарантия

–сбой может изменить состояние, не вызывает утечек и оставляет все объекты

пригодными для дальнейшего использования

•строгая гарантия

–сбой не изменяет состояния (транзакция)

•гарантия бессбойности

–сбой не может произойти

17.03.2012

cppNewb.ru

43

Сбои и повторное использование

•устойчивость и цена разработки должны соответствовать решаемой задаче

•требования к устойчивости неизвестны

•сообщение пользователю

–неизвестны доступные устройства вывода

–неизвестно наличие пользователя

17.03.2012

cppNewb.ru

44