💀
Второй курс РПО
C#
C#
  • Типы данных и переменные
  • Массивы и списки
  • Управляющие конструкции
  • Методы
  • Классы и объекты
  • Инкапсуляция, наследование и полиморфизм
  • Интерфейсы
  • Обработка исключений
  • Работа с файлами
  • Делегаты и события
  • Краткие определения основных понятий
  • Вопросы с контрольной
  • Тестовые вопросы по темам
Powered by GitBook
On this page
  • Основы обработки исключений
  • Пользовательские исключения
  • Полезные советы

Обработка исключений

Исключения — это ошибки, возникающие во время выполнения программы. Обработка исключений позволяет управлять ошибками и предотвращать сбои.

Основы обработки исключений

Используются конструкции try, catch, finally и throw.

using static System.Console;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            int[] numbers = { 1, 2, 3 };
            WriteLine(numbers[10]); // Ошибка: выход за границы
        }
        catch (IndexOutOfRangeException ex)
        {
            WriteLine("Ошибка: выход за границы массива");
        }
        finally
        {
            WriteLine("Блок finally выполняется всегда");
        }
    }
}

Блок try

Содержит код, который может вызвать исключение.

Блок catch

Обрабатывает исключение. Можно указать конкретный тип исключения или общий Exception.

try
{
    int x = 0;
    int y = 10 / x; // Ошибка: деление на ноль
}
catch (DivideByZeroException)
{
    WriteLine("Деление на ноль!");
}

Блок finally

Выполняется всегда, независимо от того, было исключение или нет. Используется для очистки ресурсов.

Ключевое слово throw

Вызывает исключение вручную.

static void CheckAge(int age)
{
    if (age < 0)
        throw new ArgumentException("Возраст не может быть отрицательным");
}

static void Main(string[] args)
{
    try
    {
        CheckAge(-5);
    }
    catch (ArgumentException ex)
    {
        WriteLine(ex.Message); // Вывод: Возраст не может быть отрицательным
    }
}

Пользовательские исключения

Можно создать свой класс исключений, унаследовав от Exception.

class CustomException : Exception
{
    public CustomException(string message) : base(message) { }
}

Полезные советы

  • Ловите конкретные исключения, а не общий Exception, чтобы лучше контролировать ошибки.

  • Используйте finally для освобождения ресурсов (например, закрытия файлов).

  • Создавайте пользовательские исключения для специфичных ошибок приложения.

PreviousИнтерфейсыNextРабота с файлами

Last updated 7 days ago