Polimorfizm, undan foydalanish mexanizmlari
Istisnolar va ularni generatsiya qilish
Download 19 Kb.
|
programmalash asoslari fanidan Absalamova tashlagan mustaqil ish mavzulari
Istisnolar va ularni generatsiya qilish
Istisnolar C++ tilidagi xususiyat boʻlib, xatolik holatlarini yanada tuzilgan va bashorat qilinadigan usulda boshqarish imkonini beradi. Istisnolar - bu funksiyadan tashlab yuborilgan va keyinchalik xatoni qanday hal qilishni biladigan dasturning boshqa qismi tomonidan ushlangan ob'ektlar. Istisnoni tashlash uchun siz har qanday turdagi ob'ekt bilan throw iborasidan foydalanasiz. Odatda, siz stdexcept sarlavhasida belgilangan std::exception dan olingan sinf ob'ektidan foydalanasiz. Istisnoni qanday chiqarishga misol: #include void foo() { throw std::runtime_error("Something went wrong!"); } Ushbu misolda biz xato holatini ifodalash uchun std::runtime_error sinfidan foydalanmoqdamiz. Biz std::runtime_error konstruktoriga string xabarni uzatmoqdamiz, bu istisno aniqlanganda ko'rsatiladi. Istisnoni qo'lga olish uchun siz try blokidan keyin bir yoki bir nechta catch bloklaridan foydalanasiz. try bloki istisnolarni keltirib chiqaradigan kodni o'z ichiga oladi va catch bloklari chiqarilgan istisnolarni boshqaradi. Istisnoni qanday tutishga misol: try { foo(); } catch (std::exception& e) { std::cerr << "Exception caught: " << e.what() << std::endl; } Ushbu misolda biz istisnolarni keltirib chiqaradigan foo() funksiyasini chaqiramiz. Biz std::exception turidagi istisnolarni yoki uning hosila sinflarini ushlash uchun catch blokidan foydalanmoqdamiz. catch bloki o'zining argumenti sifatida istisno ob'ektiga havolani oladi, bu bizga uning ma'lumotlariga kirish imkonini beradi, masalan, what() funktsiyasi tomonidan qaytarilgan xato xabari.< /p> Shuni ta'kidlash kerakki, barcha istisnolarni catch bloki ushlay olmaydi. Agar istisno dasturdagi biron bir catch bloki tomonidan ushlanmasa, dastur xato xabari bilan tugatiladi. Umuman olganda, istisnolardan tejamkorlik bilan va faqat istisno holatlarda, masalan, funksiyaning vazifasini bajarishiga xalaqit beradigan xatolik yuz berganda foydalanish kerak. Download 19 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling