должно запускаться исключение

Автор admin Среда, 13 мая 2009 11:32

должно запускаться исключение. При каждом переходе в такое состояние поток запускает исключение типа std::ios_base::failure, производное от std::exception. Хотя исключения могут генерироваться для всех четырех состояний потоков, разрешать все четыре исключения не всегда разумно. Как объяснялось в главе 1, исключения следует применять в действительно исключительных состояниях, однако состояние конца файла не только не является исключительным — его появление ожидается\ По этой причине исключения обычно разрешаются только для ошибок, представленных флагом bad bit: myStream.exceptions(ios::badbit); Запуск исключений разрешается для каждого потока по отдельности, так как функция exceptionsQ является функцией потоковых классов. Функция exceptionsQ Обычно вместо operator bool() используется operator void*(), потому что неявные преобразования bool в int могут приводить к неожиданностям, если поток задействован в контексте, допускающем преобразование к целому типу. Операторная функция operator void*() неявно вызывается только в логических выражениях. 140 Глава 4 • Потоки ввода-вывода возвращает битовую маску1


Комментарии закрыты.