Junior
Какво е операторът throw в C#?
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 може да се използва в две форми:
-
throw expression;: Предизвиква ново изключение, къдетоexpressionе екземпляр от клас, наследен отSystem.Exception.throw new ArgumentException("Невалиден аргумент."); -
throw;: Повторно предизвиква текущото изключение в блокаcatch. Това запазва цялата информация за стека на извикванията на оригиналното изключение.try { // Код, който може да предизвика изключение } catch (FileNotFoundException ex) { // Допълнителна обработка или логване Console.WriteLine($"Файлът не е намерен: {ex.FileName}"); // Повторно предизвикване на изключението за по-нататъшна обработка нагоре по стека throw; }
Използването на throw е важно за:
- Посочване на грешки или неочаквани ситуации в приложението.
- Създаване на собствени изключения за специфични грешки.
- Предаване на информация за грешката към кода, който я извиква, за коректна обработка.