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

26 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
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