catch (DivideByZeroException) when (y == 0) { Console.WriteLine("y 0 bo'lmasligi kerak"); } catch(DivideByZeroException ex) { Console.WriteLine(ex.Message); } 3. Istisno turlari. Eexception sinfi. Barcha turdagi istisnolar uchun asosiy tur Exception hisoblanadi. Ushbu tur istisno haqida ma'lumot olish uchun ishlatilishi mumkin bo'lgan bir qator xususiyatlarni belgilaydi. InnerException: joriy istisnoga sabab bo'lgan istisno haqidagi ma'lumotlarni saqlaydi Source: istisnoga sabab bo'lgan ob'ekt yoki yig'ilish nomini saqlaydi StackTrace: Istisnoga sabab bo'lgan chaqiruvlar to'plamining qatorli ko'rinishini qaytaradi Misol uchun, Exception turidagi istisnolarni ko'rib chiqaylik: try { int x = 5; int y = x / 0; Console.WriteLine($"Natija: {y}"); } catch (Exception ex) { Console.WriteLine($"Istisno: {ex.Message}"); Console.WriteLine($"Usul: {ex.TargetSite}"); Console.WriteLine($"Stack izi: {ex.StackTrace}"); } Ammo istisnolarning alohida turlarini ko'rib chiqish uchun mo'ljallangan maxsus turdagi istisnolar ham mavjud. Ulardan bir nechtasi bor, ko`rib chiqamiz: DivideByZeroException: nolga bo'linganda chiqarilgan istisnoni ifodalaydi. ArgumentOutOfRangeException: Argument qiymati diapazondan tashqarida bo'lsa, tashlanadi. ArgumentException: Parametr uchun usulga noto'g'ri qiymat o'tkazilsa, tashlanadi. IndexOutOfRangeException: massiv yoki to‘plamdagi element indeksi diapazondan tashqarida bo‘lganda tashlanadi. InvalidCastException: noto'g'ri turdagi konvertatsiyalarni amalga oshirishga urinayotganda tashlanadi.
Do'stlaringiz bilan baham: |