Войти Регистрация

Docx

  • Рефераты
  • Дипломные работы
  • Прочее
    • Презентации
    • Рефераты
    • Курсовые работы
    • Дипломные работы
    • Диссертациии
    • Образовательные программы
    • Инфографика
    • Книги
    • Тесты

Информация о документе

Цена 3000UZS
Размер 54.7KB
Покупки 0
Дата загрузки 07 Ноябрь 2026
Расширение pptx
Раздел Презентации
Предмет Педагогика

Продавец

Bohodir Jalolov

Istisnoli holatlar va ularni qayta ishlash

Купить
I STI SN OL I  HOL ATL A R VA  UL A RN I  QAY TA  I SHL A SH.
I STI SN OL I  HOL ATL A R  A SOSLA RI . I STI SN OL I  HOLATL A R N I
GEN ERA SI YA  QI LI SH. I STI SN OL I  HOLATL A R N I  USHL A SH. •
C++  kodini  bajarishda  turli  xil  xatolar  yuzaga  kelishi  mumkin:  dasturchi 
tomonidan  kodlash  xatolari,  noto'g'ri  kiritilgan  xatolar  yoki  boshqa  oldindan 
aytib bo'lmaydigan narsalar .
•
Xato  sodir  bo'lganda,  C++  odatda  to'xtaydi  va  xato  xabarini  yaratadi. Buning 
texnik atamasi: C++  i st i sno  (xato) chiqaradi.
•
I st isno   -  bu  dasturni  bajarish  jarayonida  yuzaga  keladigan  muammo. C++ 
istisnosi dastur ishlayotgan vaqtda yuzaga keladigan istisno holatlarga javobdir, 
masalan, nolga bo'lishga urinishi.
•
Istisnolar  dasturning  bir  qismidan  boshqasiga  boshqaruvni  o'tkazish  usulini 
ta'minlaydi. C++  istisnolarini  qayta  ishlash  uchta  kalit  so'z  asosida  qurilgan:  t ry  
(u ri ni b k o'r i ng), cat ch (t ut i ng), v a  t hrow  (t a sh l ang).
•
C++ da  t hrow  iborasi istisno yoki xato haqida signal berish uchun ishlatiladi. 
Istisno sodir bo'lganligi haqida signal berish istisnoni generatsiyasi deb ataladi. •
t hrow   operatoridan  foydalanish  uchun  siz  throw  kalit  so'zidan  keyin  xato  haqida  signal 
berish uchun foydalanmoqchi bo'lgan har qanday ma'lumot turi qiymatidan foydalanasiz. 
Odatda,  bu  qiymat  xato  kodi,  muammoning  tavsifi  yoki  maxsus  istisno  sinfi  bo’lishi 
mumkun.
•
throw -1; // int tipidagi istisno generatsiyasi
•
throw ENUM_INVALID_INDEX; // enum tipidagi generatsiya
•
throw "Manfiy sonning kvadrat ildizini olib bo'lmaydi"; // const char * tipidagi  istisnoni generatsiyasi 
(C uslubidagi satr)
•
throw dX; // double turidagi istisno generatsiyasi (oldin aniqlangan double tipidagi o'zgaruvchi)
•
throw MyException("Fatal Error"); // MyException sinfining obyekti yordamida istisno qilish try
{
// Bu erda biz keyingi istisnolarni generatsiya qiladigan 
bayonotlarni yozamiz
throw -1; //
} •
t r y  blokidan  keyingi  ca t ch  bloki har  qanday  istisnoni  aniqlaydi. Qaysi  turdagi 
istisnolarni  aniqlashni  xohlayotganingizni  belgilashingiz  mumkin  va  bu  catch 
kalit  so'zidan  keyin  qavs  ichida  paydo  bo'ladigan  istisno  qoidasi  bilan 
aniqlanadi.
•
t r y   bloki  bir  xil  t r y   blokidagi  har  qanday  bayonot  tomonidan  chiqarilgan 
istisnolarni qidiradigan kuzatuvchi sifatida ishlaydi, masalan:
try
   {
          // Bu erda biz keyingi istisnolarni generatsiya qiladigan bayonotlarni yozamiz
         throw -1; //
    }
E'tibor bering, try bloki istisnoni  qanday  hal qilishimizni aniqlamaydi. •
Istisnolarni  qayta  ishlash  catch  blokining  ishi.  ca t ch   kalit  so'zi  ma'lum  bir  turdagi 
ma'lumotlarning  istisnolarini  ko'rib  chiqadigan  kod  blokini  aniqlash  uchun 
ishlatiladi.
•
Bu yerda int tipidagi istisnolarni ko‘rib chiqadigan (tutadigan) catch blokiga misol:
•
try  va  catch  bloklari  birgalikda  ishlaydi.  try  bloki  unga  kiritilgan  har  qanday 
istisnolarni  aniqlaydi  va  ularni  qayta  ishlash  uchun  tegishli  catch  blokiga 
yo'naltiradi. Try blokida darhol o'zidan keyin kamida bitta catch bloki  bo'lishi kerak, 
lekin u ketma-ket (birin-ketin) bir nechta catch bloklariga ega bo'lishi ham mumkin. catch (int a)
   {
// int tipidagi istisno bilan ishlash
cerr << "Biz qiymat bilan int istisnosini ushladik" << a << '\n';
    } •
Istisno  try  bloki  tomonidan  ushlangan  va  ishlov  berish  uchun  catch  blokiga 
yo'naltirilgandan  so'ng,  u  ishlov  berilgan  deb  hisoblanadi  (catch  blok  kodi   
ajarilgandan so'ng) va dasturning bajarilishi davom ettiriladi.
•
Yuqoridagi  kod  Except i on N am e  turidagi  istisnoni  ushlaydi. Agar  siz  catch  bloki 
try  blokiga  tashlangan  boshqa  bir  istisno  turini  boshqarishi  kerakligini 
belgilamoqchi  bo'lsangiz,  istisno  qoidasini  qavslar  orasiga  quyidagi  tarzda  ... 
qo'yishingiz kerak try { 
//  himoyalangan kod
} catch( ExceptionName e ) {
//  ExceptionName istisnosini boshqarish uchun kod  
  }  
try { 
// protected code 
} catch(...) {
  //  har qanday istisnoni hal qilish uchun kod  
}   •
Funktsiyalarda bo'lgani kabi, agar parametr catch blokida ishlatilmasa, 
o'zgaruvchining nomini o'tkazib yuborish mumkin:
catch (double)  
// Eslatma: Biz o'zgaruvchining nomini ko'rsatmaymiz,
//chunki bunga ehtiyoj yo'q (biz uni blokning biron bir 
joyida ishlatmaymiz)
{
// Bu yerda double tipli istisno bilan ishlash
cerr << "Biz double turini istisno qildik" << '\n';
} •
Quyida nol istisnoga bo'linishni ushlaydigan misol keltirilgan va biz uni catch 
blokida ushlaymiz.
#include   <iostream>
using   namespace  std ;  
double  division ( int  a ,   int  b )   {  
if (  b  ==   0   )   {  
throw   " Nol shartga bo'linish ! " ;  
}  
return   ( a / b );  
}  
int  main  ()   {  
int  x  =   50 ;  
int  y  =   0 ;  
double  z  =   0 ;  
try   {  
z  =  division ( x ,  y );  
cout  <<  z  <<  endl ;  
}   catch   ( const   char *  msg )   {  
cerr  <<  msg  <<  endl ;  
}  
return   0 ;  
}

Istisnoli holatlar va ularni qayta ishlash

Купить
  • Похожие документы

  • 2001-yil sentabr voqealri va uning xalqaro munosabatlarga
  • 1945-1990-yillarda Buyuk Britaniya
  • 1918-1923 yillarda xalqaro munosabatlar, Versal Vashington siyetemasining tuzilishi
  • Ahmad al-farg‘oniy
  • Almashlab ekishni loyihalashtirish va joriy etish

Подтвердить покупку

Да Нет

© Copyright 2019-2026.

  • Инструкция по снятию с баланса
  • Контакты
  • Инструкция использования сайта
  • Инструкция загрузки документов
  • O'zbekcha