... > C# > Обработка ошибок try-catch...

Обработка ошибок try-catch в C#

НАВИГАЦИЯ ПО СТРАНИЦЕ

try-catch finally try-catch-finally

Обработка ошибок в C# позволяет программам гибко реагировать на различные ситуации, включая ошибки времени выполнения.

  1. Использование конструкции try-catch:

    • Блок try-catch позволяет поймать и обработать исключение.

    • Код, который может вызвать исключение, помещается в блок try, а обработка исключения — в блок catch.

      try
      {
          // Код, который может вызвать исключение
      }
      catch (Exception ex)
      {
          // Обработка исключения
          Console.WriteLine("Caught exception: " + ex.Message);
      }
  2. Использование блока finally:

    • Блок finally содержит код, который будет выполнен независимо от того, возникло исключение или нет.

    • Он полезен для освобождения ресурсов или выполнения завершающих операций.

      try
      {
          // Код, который может вызвать исключение
      }
      catch (Exception ex)
      {
          // Обработка исключения
          Console.WriteLine("Caught exception: " + ex.Message);
      }
      finally
      {
          // Код, который будет выполнен в любом случае
          Console.WriteLine("Finally block executed.");
      }
  3. Использование конструкции try-catch-finally во вложенных блоках:

    • Конструкции try-catch и finally могут быть вложенными для более гранулированной обработки ошибок в различных частях кода.

      try
      {
          try
          {
              // Вложенный код, который может вызвать исключение
          }
          catch (Exception ex)
          {
              // Обработка внутреннего исключения
          }
      }
      catch (Exception ex)
      {
          // Обработка внешнего исключения
      }
      finally
      {
          // Код, который будет выполнен в любом случае
      }
  4. Логирование ошибок:

    • Запись информации об ошибках в журнал или файл позволяет отслеживать ошибки и упрощает их отладку и исправление.

      try
      {
          int divisor = 0;
          int result = 10 / divisor; // Попытка деления на ноль
      }
      catch (DivideByZeroException ex)
      {
          Console.WriteLine("Caught exception: " + ex.Message);
      }
      finally
      {
          Console.WriteLine("Finally block executed.");
      }

Этот код демонстрирует обработку ошибки деления на ноль с помощью блока try-catch, выводя сообщение об ошибке и выполнение кода в блоке finally.

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