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

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

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

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

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