freeCodeCamp/guide/russian/computer-science/error-handling/index.md

4.3 KiB
Raw Blame History

title localeTitle
Error Handling Обработка ошибок

Обработка ошибок

Обработка ошибок и, в большей степени, обработка исключений - это функции / методы, написанные для возврата важной информации о манипуляции данными. Обработка ошибок часто используется вместе с обещаниями и обратными вызовами. Обработка ошибок - очень важная вещь, которую должен заботиться любой разработчик во время программирования. Здесь я объясню, как обрабатывать ошибки, возникающие во время выполнения, используя блоки try-catch с примером в программах на C #. Операторы try-catch доступны во всех основных языках программирования с похожим синтаксисом.

Как работает блок try-catch.

Оператор try-catch состоит из блока try и catch и дополнительного блока finally . Код, который может генерировать исключение, должен быть помещен в блок try. Блок catch принимает исключение, которое может быть выбрано в качестве параметра, а затем обрабатывает это исключение внутри блока. Во время выполнения сначала выполняется код в блоке try. Если выбрано исключение, оно будет передано блоку catch, который будет обработан. Если нет блокировки catch, программа отобразит необработанную ошибку исключения и перестанет работать. Несколько блоков catch используются, если код в блоке try может вызывать более одного исключения. Существует также дополнительный блок finally, который будет выполнять код в нем независимо от того, выбрано ли исключение.

Ниже приведен пример программы, которая обрабатывает деление на нулевое исключение, используя предопределенный класс в библиотеке C #. Исключение является базовым классом для всех исключений.

c# using System; namespace ErrorHandling { class DivideByZero { int result; DivideByZero() { result = 0; } public void division(int num1, int num2) { try { result = num1 / num2; } catch (DivideByZeroException e) { Console.WriteLine("Exception caught: {0}", e); } catch(Exception ex) { Console.WriteLine("Exception caught: {0}", ex); } finally { Console.WriteLine("Result: {0}", result); } } static void Main(string[] args) { DivideByZero d = new DivideByZero(); d.division(10, 0); Console.ReadKey(); } } }

  • В вышеуказанной программе передача 0 в качестве второго параметра вызовет DivideByZeroExceptions.

  • Это исключение будет обрабатываться блоком catch, который имеет класс DivideByZeroException. Если происходят исключения, кроме DivideByZeroExceptions, они будут обрабатываться блоком catch Exception.

    Исключение - базовый класс для всех классов исключений, доступных в библиотеке C #. Даже если вы хотите написать свое собственное исключение, вы должны наследовать базовый класс Exception в свою программу.

Дополнительная информация:

https://quizlet.com/135129010/computer-science-error-handling-flash-cards/ https://en.wikipedia.org/wiki/Exception_handling