Sobes.tech
Junior

C# да throw оператору эмне?

sobes.tech AI

AIден жооп

throw оператору ачык түрдө ката чыгару үчүн колдонулат. Ал программанын нормалдуу иштешин үзгүлтүккө учуратууга жана ката иштетүү блогуна башкарууну өткөрүп берүүгө мүмкүндүк берет.

// `throw` операторунун колдонуу мисалы
try
{
    int[] numbers = { 1, 2, 3 };
    int index = 5;

    // Кол менен IndexOutOfRangeException ката чыгарыш
    if (index >= numbers.Length)
    {
        throw new IndexOutOfRangeException("Индекс массивдин чегинен чыгууда.");
    }

    Console.WriteLine(numbers[index]);
}
catch (IndexOutOfRangeException ex)
{
    // Ката иштетүү
    Console.WriteLine($"Ката: {ex.Message}");
}

throw оператору эки формада колдонулушу мүмкүн:

  1. throw expression;: Жаңы ката чыгарат, анда expression System.Exception классынан мурас алган объект.

    throw new ArgumentException("Жараксыз аргумент.");
    
  2. throw;: Учурдагы ката catch блокунда кайра жүктөйт. Бул оригиналдуу ката чакыруу стекинин бардык маалыматтарын сактайт.

    try
    {
        // Ката чыгара турган код
    }
    catch (FileNotFoundException ex)
    {
        // Кошумча иштетүү же журналга жазуу
        Console.WriteLine($"Файл табылган жок: {ex.FileName}");
    
        // Стектин жогорку деңгээлине кайра жүктөө
        throw;
    }
    

throw колдонуу маанилүү:

  • Ката же күтүлбөгөн кырдаалды белгилөө үчүн.
  • Өзгөчө ката үчүн өзүнчө ката түзүү үчүн.
  • Ката тууралуу маалыматты чакырган кодго өткөрүү үчүн.