1-Ma’ruza Mavzu: Mobil operatsion tizimlarning rivojlanish tarixi


NullReferenceException: null (ya'ni tabiatan aniqlanmagan) ob'ektga kirishga urinayotganda tashlanadi


Download 166.74 Kb.
bet5/6
Sana03.02.2023
Hajmi166.74 Kb.
#1150658
1   2   3   4   5   6
Bog'liq
DT 10-mavzu

NullReferenceException: null (ya'ni tabiatan aniqlanmagan) ob'ektga kirishga urinayotganda tashlanadi.

4. Istisno va throw operatorini tashlash.

Odatda, tizimning o'zi ma'lum holatlarda, masalan, raqamni nolga bo'lishda istisnolarni chiqaradi. Lekin C# ham throw operatori yordamida istisnolarni qo'lda tashlash imkonini beradi. Ya'ni, ushbu operatordan foydalanib, biz o'zimiz istisno yaratishimiz va uni ish vaqtida chaqirishimiz mumkin.

Misol uchun, bizning dasturimizda foydalanuvchi nomi kiritilgan va agar nom 2 belgidan kam bo'lsa, istisno qilinishini xohlaymiz:

try { Console.Write("Ismingizni kiriting: ");

string? name = Console.ReadLine();

if (name== null || name.Length < 2)

{ throw new Exception("Ism uzunligi 2 ta belgidan kam "); }

else { Console.WriteLine($"Ismingiz: {name}"); }

}

catch (Exception e) { Console.WriteLine($"Xato: {e.Message}"); }

Xuddi shunday, biz dasturning istalgan joyiga istisnolar qo'yishimiz mumkin. Ammo throw operatoridan foydalanishning yana bir shakli ham mavjud, bunda operatordan keyin istisno ob'ekti ko'rsatilmaydi. Ushbu shaklda throw operatoridan faqat catch blokida foydalanish mumkin:

try{

try{ Console.Write("Ismingizni kiriting: ");

string? name = Console.ReadLine();

if (name == null || name.Length < 2) {

throw new Exception("Ism uzunligi 2 ta belgidan kam "); }

else { Console.WriteLine($"Ismingiz: {name}"); } }

catch (Exception e) { Console.WriteLine($"Xato: {e.Message}"); throw; }

}

catch (Exception ex) { Console.WriteLine(ex.Message); }

5. Istisnolar sinflarini yaratish.

Agar o'rnatilgan istisno turlari bizni qoniqtirmasa, biz o'z turlarimizni yaratishimiz mumkin. Barcha istisnolar uchun asosiy sinf Exception sinfidir, shuning uchun biz o'z turlarimizni yaratish uchun ushbu sinfni meros qilib olishimiz mumkin.


Download 166.74 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