Junior
199
questionbank
Что такое оператор throw в C#?
Ответ от нейросети
sobes.tech 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 важно для:
- Индикации ошибок или неожиданных ситуаций в приложении.
- Создания собственных исключений для специфических ошибок.
- Передачи информации об ошибке вызывающему коду для корректной обработки.