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

26 lines
4.3 KiB
Markdown
Raw Normal View History

2018-10-12 20:00:59 +00:00
---
title: Error Handling
localeTitle: Обработка ошибок
---
## Обработка ошибок
Обработка ошибок и, в большей степени, обработка исключений - это функции / методы, написанные для возврата важной информации о манипуляции данными. Обработка ошибок часто используется вместе с обещаниями и обратными вызовами. Обработка ошибок - очень важная вещь, которую должен заботиться любой разработчик во время программирования. Здесь я объясню, как обрабатывать ошибки, возникающие во время выполнения, используя блоки 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