c++ tilidagi istisnolar

PPTX 48 sahifa 1,1 MB Bepul yuklash

Sahifa ko'rinishi (5 sahifa)

Pastga aylantiring 👇
1 / 48
презентация powerpoint 11-ma’ruza. istisnoli holatlar va ularni qayta ishlash istisnolar. ular nima uchun kerak? biz avvalroq c++ xatolarni boshqarish mexanizmlari haqida gapirgan edik, masalan, cerr(), exit() va assert(). biroq, biz yana bir juda muhim mavzu - "c++ tilidagi istisnolar" haqida gapirishga ulgurmadik. biz buni hozir tuzatamiz. qaytish kodlari ishlamasa qayta foydalanish mumkin bo'lgan kodni yozishda xatolarni qayta ishlashga ehtiyoj bor. mumkin bo'lgan xatolarni hal qilishning eng keng tarqalgan usullaridan biri bu return operatori qaytaradigan qaytarish kodlaridan (yoki "chiqish kodlari") foydalanishdir. masalan: int findfirstchar(const char* string, char ch) { // satrdagi har bir belgini ko'rib chiqish for (int index=0; index (a)/b; } bu yerda xatoliklarni qayta ishlash mexanizmi kerak, chunki agar foydalanuvchi b parametri sifatida 0 ni o'tkazsa, u muvaffaqiyatsiz bo'ladi. bundan tashqari, funktsiya static_cast (a) / b operatsiyasining natijasini ham qaytarishi kerak. buni qanday qilish mumkin? variantlardan biri amal natijasini yoki yakuniy kodni mos yozuvlar bo'yicha qaytarishdir, masalan: #include using …
2 / 48
ok ichida istisnolarni qidiring va ularni //tegishli catch ishlov beruvchisiga yuboring { // agar foydalanuvchi manfiy raqamni kiritgan bo'lsa, istisno chiqariladi if (a #include using namespace std; double mysqrt(double a) { if (a > a; try { double d = mysqrt(a); cout #include using namespace std; double mysqrt(double a) { if (a > a; double d = mysqrt(a); cout int main() { try { throw 7; // int tipidagi istisno genratsiya qilinadi } catch (double a) { } cout using namespace std; int main() { try { rungame(); } catch(...) { cerr = 0 && index = getlength()) throw index; return m_data[index]; } endi, agar foydalanuvchi noto'g'ri index ni kiritsa, [] operatori int istisnosini chiqaradi. konstruktorlar muvaffaqiyatsizlikka uchraganda. konstruktorlar - bu istisnolar juda foydali bo'lishi mumkin bo'lgan sinflarning yana bir qismi. agar konstruktor ishlamagan bo'lsa, obyektni yaratish mumkin emasligini ko'rsatadigan istisnoni tashlang. obyekt yaratish to'xtatiladi va destruktor hech qachon bajarilmaydi …
3 / 48
i boshqacha ko'rib chiqishimizga xalaqit beradi. ushbu muammoni hal qilishning bir usuli istisno sinflaridan foydalanishdir. istisno sinf istisno sifatida chiqarilgan oddiy sinfdir. keling, arrayint bilan foydalanish uchun oddiy istisno sinfini yarataylik: #include using namespace std; class arrayexception { private: string m_error; public: arrayexception(string error) { m_error = error; } const char* geterror() { return m_error.c_str(); } }; mana to’liq dastur: #include #include using namespace std; class arrayexception { private: string m_error; public: arrayexception(string error) : m_error(error) { m_error = error; } const char* geterror() { return m_error.c_str(); } }; class arrayint { private: int m_data[4]; // misolning soddaligi uchun massiv uzunligi sifatida 4 qiymatini belgilaymiz public: arrayint() {} int getlength() { return 4; } int& operator[](const int index) { if (index = getlength()) throw arrayexceptionf'noto'g'ri indeks"); return m_data[index]; } }; int main() { arrayint array; try int value = array[7j; } catch (arrayexception &exception) { cerr #include using namespace std; …
4 / 48
ak. image3.png
5 / 48
c++ tilidagi istisnolar - Page 5

Ko'proq o'qimoqchimisiz?

Barcha 48 sahifani Telegram orqali bepul yuklab oling.

To'liq faylni yuklab olish

"c++ tilidagi istisnolar" haqida

презентация powerpoint 11-ma’ruza. istisnoli holatlar va ularni qayta ishlash istisnolar. ular nima uchun kerak? biz avvalroq c++ xatolarni boshqarish mexanizmlari haqida gapirgan edik, masalan, cerr(), exit() va assert(). biroq, biz yana bir juda muhim mavzu - "c++ tilidagi istisnolar" haqida gapirishga ulgurmadik. biz buni hozir tuzatamiz. qaytish kodlari ishlamasa qayta foydalanish mumkin bo'lgan kodni yozishda xatolarni qayta ishlashga ehtiyoj bor. mumkin bo'lgan xatolarni hal qilishning eng keng tarqalgan usullaridan biri bu return operatori qaytaradigan qaytarish kodlaridan (yoki "chiqish kodlari") foydalanishdir. masalan: int findfirstchar(const char* string, char ch) { // satrdagi har bir belgini ko'rib chiqish for (int index=0; index (a)/b; } bu yerda xatoliklarni qayta ishlash me...

Bu fayl PPTX formatida 48 sahifadan iborat (1,1 MB). "c++ tilidagi istisnolar"ni yuklab olish uchun chap tomondagi Telegram tugmasini bosing.

Teglar: c++ tilidagi istisnolar PPTX 48 sahifa Bepul yuklash Telegram