C++ за 21 день седьмое издание



Download 1,38 Mb.
bet415/437
Sana22.02.2022
Hajmi1,38 Mb.
#89455
TuriРеферат
1   ...   411   412   413   414   415   416   417   418   ...   437
Bog'liq
word1

Контрольные вопросы



  1. Необходима только запись в файл. Какой поток использовать?




  1. Как использовать объект с in для получения из входного потока полной строки?

3. Необходима запись объекта класса s t d : : s t r i n g в файл. Выбрали бы вы режим


i o s _ b a s e : : b in a r y ?





  1. Вы открыли поток при помощи метода open (). Зачем беспокоиться об использова­ нии метода is _ o p e n () ?



Упражнения



    1. О тлад ка: Найдите ошибку в следующем коде: fstream myFile; myFile.open("HelloFile.txt", ios_base::out); myFile « "Hello file!";

myFile.close();



  1. О тлад ка: Найдите ошибку в следующем коде: ifstream MyFile("SomeFile.txt"); if(MyFile.is_open())

{
MyFile « "This is some text" « endl; MyFile.close();


}

ЗАНЯТИЕ 28




Обработка исключений
Как следует из названия главы, речь пойдет об экстраординарных ситуациях, нарушающих выполнение вашей программы. До сих пор на занятиях мы проявляли чрезвычайный оптимизм, подразумевая, что резерви рован ие памяти всегда успеш но, файлы всегда находятся и т.д. Однако действительность зачастую соверш енно иная.

На сегодняш нем занятии.


Что такое исключение.


■ Как обрабатываю тся исключения.


■ Как обработка исключений помогает создавать стабильные приложения C++.


608 ЗАНЯТИЕ 28. Обработка исключений


Что такое исключение

Ваша программа резервирует память, читает и записывает данные, сохраняет файлы — все работает. В вашей великолепной среде разработки все выполняется безупречно, и вы гордитесь тем фактом, что ваше приложение не пропускает ни байта, хоть и управляет гигабайтами! Вы отправляете свое приложение, и клиент устанавливает его на тысячи рабочих станций. Некоторым из его компьютеров по десять лет. Ж есткие диски на неко­ торых из них еле крутятся. Проходит совсем немного времени, и в вашей папке входящих появляются первые жалобы. В некоторых из них будет упоминание о нарушении прав до­ ступа, а в других — сообщение “Необработанное исключение”.


Вот тебе и на: “необработанное” и “исключение”. В вашей системе приложение рабо­ тало отлично, так откуда все это взялось?


Все дело в том, что мир очень разнообразен. Не существует двух одинаковых компью­ теров, даже при той же аппаратной конфигурации. Причина этого в том, что на каждом компьютере выполняется разное программное обеспечение, а состояние, в котором на­ ходится машина, влияет на объем ресурсов, доступных в определенный момент времени. Поэтому вполне вероятно, что распределение памяти, которое отлично работало в ваших условиях, отказывает в другой среде.


Такие отказы редки, но все же случаются. Эти отказы и приводят к исключениям (exception).


Исключения прерывают нормальный поток выполнения вашего приложения. В конце концов, если доступной памяти нет, нет никакой возможности заставить ваше приложение сделать то, что оно намеревалось. Тем не менее ваше приложение способно обработать исключение и отобразить пользователю сообщение об ошибке, выполнить, по мере необ­ ходимости, операции по сохранению данных и завершить работу корректно.


Обработка исключений поможет избежать таких сообщений, как “Access Violation” или “Unhandled Exception”, а также соответствующих жалоб по электронной почте. Давайте рассмотрим, какие инструменты предоставляет язык C++, чтобы справиться с непредви­ денным.



Download 1,38 Mb.

Do'stlaringiz bilan baham:
1   ...   411   412   413   414   415   416   417   418   ...   437




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish