Junior
Kas yra throw operatorius C#?
sobes.tech AI
Atsakymas iš AI
throw operatorius naudojamas aiškiai iškeliant išimtį. Jis leidžia nutraukti įprastą programos vykdymą ir perduoti valdymą išimtį apdorojančiam blokui.
// `throw` operatoriaus pavyzdys
try
{
int[] numbers = { 1, 2, 3 };
int index = 5;
// Rankinis `IndexOutOfRangeException` iškvietimas
if (index >= numbers.Length)
{
throw new IndexOutOfRangeException("Indeksas yra už masyvo ribų.");
}
Console.WriteLine(numbers[index]);
}
catch (IndexOutOfRangeException ex)
{
// Išimties apdorojimas
Console.WriteLine($"Klaida: {ex.Message}");
}
throw operatorius gali būti naudojamas dviejose formose:
-
throw expression;: Išmeta naują išimtį, kurexpressionyraSystem.Exceptionpaveldėjusios klasės egzempliorius.throw new ArgumentException("Neteisingas argumentas."); -
throw;: Pakartotinai išmeta dabartinę išimtįcatchbloke. Tai išsaugo visą pradinės išimties iškvietimo steko informaciją.try { // Kodas, kuris gali iškelti išimtį } catch (FileNotFoundException ex) { // Papildomas apdorojimas arba žurnalo įrašymas Console.WriteLine($"Failas nerastas: {ex.FileName}"); // Išimties pakartotinis iškėlimas aukštesniame steke throw; }
throw naudojimas yra svarbus:
- Klaidų arba nenumatytų situacijų žymėjimui programoje.
- Savo išimčių kūrimui specifinėms klaidoms.
- Informacijos apie klaidą perdavimui kviečiančiam kodui tinkamam apdorojimui.