0Pricing
C# Academy · Урок

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

Корректно обрабатывайте ошибки выполнения с помощью методов обработки исключений

«Обработка исключений» — бесплатный урок C# Academy на CoddyKit. Это урок 3 из 5. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C# Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C# Academy содержит 5 уроков всего.

Введение в обработку исключений

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

Добро пожаловать на следующий урок! На этом уроке Вы узнаете об обработке исключений в C#, её важности и эффективных способах обработки ошибок в приложениях. Начнём!

Обработка исключений — иллюстрация 1

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

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

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

Главное: Используйте обработку исключений, чтобы приложение не завершалось аварийно и предоставляло пользователям понятную информацию.

Блок try-catch

Блок try-catch

Блок try-catch используется для обработки исключений. Код, который может вызвать исключение, помещается в блок try, а блок catch обрабатывает это исключение. Пример:

Главное: Используйте конкретные типы исключений в блоке catch, чтобы обрабатывать разные ошибки.

using System;

class Program {
    static void Main() {
        try {
            int result = 10 / 0; // This will throw a DivideByZeroException
        } catch (DivideByZeroException ex) {
            Console.WriteLine("Error: " + ex.Message);
        }
    }
}

Блок finally

Блок finally

Блок finally используется для выполнения кода, который должен запускаться независимо от того, произошло исключение или нет. Пример:

Совет: Используйте блок finally для освобождения ресурсов, например закрытия файлов или подключений к базе данных.

using System;

class Program {
    static void Main() {
        try {
            int[] numbers = { 1, 2, 3 };
            Console.WriteLine(numbers[5]); // This will throw an IndexOutOfRangeException
        } catch (IndexOutOfRangeException ex) {
            Console.WriteLine("Error: " + ex.Message);
        } finally {
            Console.WriteLine("This will always execute.");
        }
    }
}

Генерация исключений

Генерация исключений

Для ручной генерации исключений можно использовать ключевое слово throw. Пример:

Главное: Генерируйте исключения, чтобы обеспечивать соблюдение правил или обрабатывать недопустимые ситуации в приложении.

using System;

class Program {
    static void Main() {
        try {
            ValidateAge(15);
        } catch (Exception ex) {
            Console.WriteLine("Error: " + ex.Message);
        }
    }

    static void ValidateAge(int age) {
        if (age < 18) {
            throw new ArgumentException("Age must be 18 or older.");
        }
    }
}

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

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

Можно определить пользовательские классы исключений для обработки конкретных ошибок приложения. Пример:

Совет: Используйте пользовательские исключения, чтобы предоставлять понятные сообщения об ошибках, соответствующие логике Вашего приложения.

using System;

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

class Program {
    static void Main() {
        try {
            throw new CustomException("This is a custom exception.");
        } catch (CustomException ex) {
            Console.WriteLine("Caught custom exception: " + ex.Message);
        }
    }
}

Практическое задание

Практическое задание

Создайте программу, которая получает от пользователя число и вызывает исключение, если число отрицательное. Используйте блок try-catch для обработки исключения. Пример:

using System;

class Program {
    static void Main() {
        try {
            Console.WriteLine("Enter a number:");
            int number = int.Parse(Console.ReadLine());
            if (number < 0) {
                throw new ArgumentException("Number cannot be negative.");
            }
            Console.WriteLine("You entered: " + number);
        } catch (Exception ex) {
            Console.WriteLine("Error: " + ex.Message);
        }
    }
}

Рекомендации по обработке исключений

Рекомендации по обработке исключений

Вот несколько рекомендаций:

  • Перехватывайте только конкретные исключения, чтобы не скрывать другие ошибки.
  • Используйте блок finally для освобождения ресурсов.
  • Вызывайте исключения только в исключительных ситуациях, а не для управления ходом выполнения программы.
  • Записывайте исключения в журнал, чтобы отслеживать проблемы в рабочей среде.

Совет: Правильная обработка исключений делает приложение более надёжным и удобным для пользователей.

Повторение: обработка исключений

Отличная работа!

Поздравляем! Вы научились эффективно обрабатывать исключения и создавать приложения, устойчивые к ошибкам. На следующем уроке мы изучим работу с базами данных для управления данными и выполнения запросов. Продолжим программировать!

Обработка исключений — иллюстрация 10

Часто задаваемые вопросы

Урок «Обработка исключений» бесплатный?

Да — полный текст урока «Обработка исключений» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C# Academy, подпишись на CoddyKit PRO. Курс C# Academy содержит 5 уроков всего.

Чему я научусь в уроке «Обработка исключений»?

Корректно обрабатывайте ошибки выполнения с помощью методов обработки исключений Ты практикуешь C# Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать C# Academy?

Предыдущий опыт не требуется. C# Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 5.

Сколько времени занимает урок «Обработка исключений»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке C# Academy?

Да. Каждый урок C# Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Чтение и запись файлов
  2. Работа с JSON и XML
  3. Обработка исключений
  4. Работа с базами данных
  5. Использование LINQ для запросов к данным
← Назад к C# Academy