49 lines
2.1 KiB
Markdown
49 lines
2.1 KiB
Markdown
---
|
||
title: Error Handling
|
||
localeTitle: Обработка ошибок
|
||
---
|
||
# Обработка исключений на C ++
|
||
|
||
Исключением является проблема, возникающая во время выполнения программы. Исключения обеспечивают способ передачи управления из одной части программы в другую. Обработка исключений C ++ построена на трех ключевых словах: #try, #catch и #throw.
|
||
|
||
* # throw - программа выдает исключение, когда возникает проблема. Это делается с использованием ключевого слова throw.
|
||
|
||
* # catch - программа выхватывает исключение с обработчиком исключений в месте в программе, где вы хотите справиться с этой проблемой. Ключевое слово catch указывает на улавливание исключения.
|
||
|
||
* #try - блок try идентифицирует блок кода, для которого будут активированы определенные исключения. За ним следует один или несколько блоков catch.
|
||
|
||
|
||
```CPP
|
||
#include <iostream>
|
||
using namespace std;
|
||
|
||
int main()
|
||
{
|
||
int x = -1;
|
||
|
||
// Some code
|
||
cout << "Before try \n";
|
||
try {
|
||
cout << "Inside try \n";
|
||
if (x < 0)
|
||
{
|
||
throw x;
|
||
cout << "After throw (Never executed) \n";
|
||
}
|
||
}
|
||
catch (int x ) {
|
||
cout << "Exception Caught \n";
|
||
}
|
||
|
||
cout << "After catch (Will be executed) \n";
|
||
return 0;
|
||
}
|
||
```
|
||
|
||
# Прежде чем продолжить ...
|
||
|
||
## Обзор
|
||
|
||
* Группировка типов ошибок.
|
||
* Разделение кода обработки ошибок из нормального кода.
|
||
* Функции / методы могут обрабатывать любые исключения, которые они выбирают. |