Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr



Download 5,36 Mb.
Pdf ko'rish
bet312/335
Sana02.08.2021
Hajmi5,36 Mb.
#136132
1   ...   308   309   310   311   312   313   314   315   ...   335
Bog'liq
Dasturlash asoslari(O'zbekcha)

predefined  exceptionga  ham  user-defined  exceptions  ga  ham  exeption    ishlab 


Dasturlash tillari va axborot-kommunikatsiya texnologiyalari                                                              1-semestr
 
 
317 
 
chiquvchiga  ham  ruhsat  berishi  mumkin.  Predefined  exeption    raised  bo‘lganini 
qayd qiling, garchi user-defined exceptions foydalanuvchi kodi orqali raised qilingan 
bo‘lsa  ham.  Quyidagi  raised  exeption    uchun  mo‘ljallangan  exception-handling 
mehanizmini o‘z ichiga oladigan subprogram skeletiga qarang: 
 
void
 example() { 
. . . 
average = sum / total; 
. . . 
return

/* Istisno holatlar bilan ishlash */
 
when zero_divide { 
average = 0; 
printf(
"Error–divisor (total) is zero\n"
); 

. . . 

Raised  bo‘lgan  nol  orqali  exception  bo‘linishi  keyin  bajariladigan  mos  ishlab 
chiquvchini o‘tkazish nazoratiga sabab bo‘ladi. 
        Exception  handling  uchun  birinchi  dizayn  issuesi  qanday  qilib  exeption      ni 
istisno  holatlar  bilan  ishlashga  bog‘anishidir.  Bu  issue  ikkita  turli  xil  darajada  sodir 
bo‘ladi.  Unit  darajasida  turli  xil  pointlarga  ko‘tarilgan  bir  xil  exception  qanday 
bo‘lishi  haqida  savollar  bor,  unitda  unut  bilan  bog‘liq  turli  xil  ishlab  chiquvchila 
ulanishi mumkin. Masalan, subprogram misolida aniq ifoda (statement)da nol orqali 
bo‘linishlar  bilan  shug‘ullanuvchi  yozilish  uchun  ko‘rinadigan  exception  nol  orqali 
bo‘linish  uchun  ishlab  chiquvchi  bor  (ko‘rsatilgan).  Lekin  funksiyalar  taxmini  bo‘lish 
operatori  bilan  birga  bir  nechta  boshqa  ifodalarni  o‘z  ichiga  oladi.  Bu  operatorlar 
uchun  ishlab  chiquvchi  mos  bo‘lmasligi  mumkin.  Shuning  uchun  u  asosiy  ishlab 
chiquvchilarning  asosiy  ifoda  (statement)lari  tomonidan  raised  bo‘lishi  mumkin 
bolgan exceptionlarni yuklashi mumkin bo‘lishi mumkin garchi bir xil exception ko‘p 
turli ifoda (statement)lar tomonidan raised bo‘la olsa-da. 


Dasturlash tillari va axborot-kommunikatsiya texnologiyalari                                                              1-semestr
 
 
318 
 
Istisno  holatlar  bilan  ishlash  bajarilgandan  so‘ng,  nazorat  ishlab  chiquvchi 
kodining  tashqarisidagi  dasturda  o‘tkazilishi  yoki  dastur  bajarilishi  tugatilishi 
mumkin.    Biz  ishlab  chiquvchi  bajarilishidan  keyin  bu  davomiylik  nazorati  savolini 
ko‘rib  chiqamiz  yoki  oddiygina  davomiylik. 
Termination  aniq  eng  oddiy  tanlov,  va  ko‘pchilik 
error  exception  holatida  ing  yaxshi.  Bunga 
qaramay,  boshqa  holatlarda  asosan  bu  noodatiy 
lekin  xato  hodisalarga  bog‘lanadi,  davomiylikni 
bajarish  tanlovi  eng  yaxshi.  Bu  dizayn  resumption 
deb  nomlanadi.  Bu  vaziyatlarda  ba’zi  qulayliklar 
qaerda  execution  davom  etishi  tanlanishi  kerak. 
Ifoda  (statement)ga  qaytish  tanlovi  raised 
qilganda  exception  yaxshiga  o‘xshab  tuyulishi 
mumkin,  lekin  xato  exception  vaziyatida  u  foydali 
agar  ishlab  chiquvchi  birozgina  raised  bo‘lishga 
sabab  bo‘ladigan  valuelar  yoki  operasiyalar 
aniqlaydi.  Aks  holda,  exception  osongina  qayta 
raised  bo‘lishi  mumkin.  Error  exception  uchun 
talab  qilingan  modifikasiya  tez-tez  juda  bashorat 
qilish  uchun  juda  qiyin  bo‘ladi.  Hatto  bo‘lishi 
mumkin  bo‘lganda  ham  bunga  qaramay  u  voz 
amaliyoti  bo‘lmasligi  mumkin.  U  dasturga  sabasni 
o‘chirmasdan  muammoning  simtomini  o‘chirishga 
ruhsat beradi. 
     
Ishlab  chiquvchi  exception  va  davomiylikni 
birlashtiradigan ikkita issue 14.1 rasm da ko‘rsatilgan. 
       Exception  boshqaruvini  o‘z  ichiga  olganda,  subprogramning  bajarilishi  ikkita 
yo‘lda  tugatilishi  mumkin:  uning  bajarilishi  tugatilganda  yoki  u  exceptionni  nazorat 


Dasturlash tillari va axborot-kommunikatsiya texnologiyalari                                                              1-semestr
 
 
319 
 
qilganda. Ba’zi vaziyatlarda  u subprogram bajarilishi  qanday to‘xtatilishini e’tiborsiz 
amalga oshirilishi zarur. Computation uchun maxsuslashtirilgan qobiliyat finalization 
deb  nomlanadi.  Finalizationni  ta’minlash  tanlovi  aniq  istisno  holatlar  bilan  ishlash 
uchun dizayn issuesidir. 
Boshqa  dizayn  issuelari  quyidagilar:  Agar  foydalanuvchi  exceptionlarni 
aniqlashga  ruhsat  bersa,  bu  exceptionlar  qanday  maxsuslashadi?  Odatiy  javob  ular 

Download 5,36 Mb.

Do'stlaringiz bilan baham:
1   ...   308   309   310   311   312   313   314   315   ...   335




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