Maruza atd ki att ax


NET istisnolarini boshqarish


Download 88.47 Kb.
Pdf ko'rish
bet2/6
Sana13.01.2023
Hajmi88.47 Kb.
#1089946
1   2   3   4   5   6
Bog'liq
8-ma\'ruza

.NET istisnolarini boshqarish 
.Net platformasi paydo boʻlguniga qadar Windows operatsion muhitida 
xatoliklarni qayta ishlash oʻzida texnologiyalarning ancha chalkash aralashmasini 
ifodalar edi. Koʻpchilik dasturchilar ishlab chiqilayotgan ilova kontekstida 
oʻzlarining xatoliklarni qayta ishlash mantigʻini kiritishdi. Masalan, dasturchilar 
guruhi xatoliklar yuzaga kelishining ma’lum shartlarini ifodalash uchun sonli 
oʻzgarmaslar toʻplamini aniqlashlari, soʻngra bu oʻzgarmaslarni metod qaytarishi 
mumkin boʻlgan qiymat sifatida qoʻllashlari mumkin edi. C tilida yozilgan quyidagi 
dastur kodi qismiga e’tibor qiling:
/* C stilida xatoliklarni aniqlashning tipik mexanizmi */ 
#define E_FILENOTFOUND 1000 
int UseFileSystem() 

// Bu funksiya qandaydir amallardan natijasida 
// quyidagi qiymatni qaytaradi deb tasavvur qilaylik 
return E_FILENOTFOUND; 



void main() 

int retVal = UseFileSystem(); 
if (retVal == E_FILENOTFOUND) 
printf ("Cannot find file..."); // fayl topilmadi 
E_FILENOTFOUND konstantasi bor yoʻgʻi sonli qiymat ekanligini hisobga 
olsak, bunday yondoshuv ideal tanlovdan ancha uzoqda boʻlib, yuzaga kelgan 
muammoni qanday hal qilish mumkinligi haqida juda kam ma’lumot beradi. Ideal 
holda, xato nomi, tavsiflovchi xabar va xato shartlari haqidagi boshqa foydali 
ma'lumotlarni bitta aniq belgilangan paketga joylashtirish maqsadga muvofiqdir.
Ishlab chiquvchilar (developers) qoʻllaydigan maxsus usullardan tashqari 
Windowsning API-interfeysi ichida #define va HRESULT koʻrinishidagi bir qancha 
yuzlab xatolik kodlari, shuningdek, oddiy mantiqiy qiymat variatsiyalari (bool, 
BOOL, VARIANT BOOL va hk) aniqlangan. 
.NET platformasida istisnolarni qayta ishlash bloklarining tuzilishi 
Istisnolarni tizimli boshqarish bilan dasturlash oʻzaro bogʻliq toʻrtta ob’ektdan 
foydalanishni oʻz ichiga oladi: 
• istisno tafsilotlarini ifodalovchi sinf turi; 
• tegishli holatlarda chaqiruv kodiga istisnolar sinfining misolini yozishga 
qodir a'zo; 
• istisno qilishga moyil boʻlgan a'zoga kiruvchi murojaat qiluvchining kod 
bloki; 
• murojaat qiluvchining kodi, agar u paydo boʻlsa, istisnolarni hal qiladi (yoki 
ushlaydi). 
C # dasturlash tili beshta kalit soʻzni taklif qiladi (try, catch, throw, finally va 
when), bu Sizga istisnolarni yuzaga keltirish va qayta ishlash imkonini beradi. 
Mavjud muammoni ifodalovchi ob'ekt System.Exception sinfini kengaytiruvchi 
sinfga (yoki undan olingan sinfga) tegishli. Shu bilan birga, keling, istisnolarni hal 
qilishda ushbu asosiy sinfning rolini oʻrganaylik. 

Download 88.47 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




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