Sobes.tech
Junior

C# da throw operatori nima?

sobes.tech AI

AIdan javob

throw operatori aniq ravishda istisno chiqarish uchun ishlatiladi. Bu oddiy dastur bajarilishini to'xtatishga va istisno bilan ishlash blokiga boshqaruvni o'tkazishga imkon beradi.

// throw operatorining foydalanish misoli
try
{
    int[] numbers = { 1, 2, 3 };
    int index = 5;

    // IndexOutOfRangeException istisnosini qo'lda chiqarish
    if (index >= numbers.Length)
    {
        throw new IndexOutOfRangeException("Indeks massiv chegarasidan tashqarida.");
    }

    Console.WriteLine(numbers[index]);
}
catch (IndexOutOfRangeException ex)
{
    // Istisno bilan ishlash
    Console.WriteLine($"Xato: {ex.Message}");
}

throw operatori ikki shaklda ishlatilishi mumkin:

  1. throw expression;: Yangi istisno chiqaradi, bunda expression System.Exception dan meros olgan sinfning nusxasi.

    throw new ArgumentException("Noto'g'ri argument.");
    
  2. throw;: catch blokida joriy istisnoni qayta yuboradi. Bu asl istisnoning chaqirish stacki haqidagi to'liq ma'lumotlarni saqlaydi.

    try
    {
        // Xatolik chiqarishi mumkin bo'lgan kod
    }
    catch (FileNotFoundException ex)
    {
        // Qo'shimcha ishlash yoki log yozish
        Console.WriteLine($"Fayl topilmadi: {ex.FileName}");
    
        // Yangi yuqoridagi stackda ishlash uchun istisnoni qayta yuborish
        throw;
    }
    

throw ishlatish muhimdir:

  • Ilovada xatoliklar yoki kutilmagan holatlarni ko'rsatish uchun.
  • Maxsus xatoliklar uchun o'ziga xos istisnolar yaratish uchun.
  • Xatolik haqida ma'lumotlarni chaqiruvchiga uzatish uchun.