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; 
 | ||
|  } 
 | ||
| ```
 | ||
| 
 | ||
| # Прежде чем продолжить ...
 | ||
| 
 | ||
| ## Обзор
 | ||
| 
 | ||
| *   Группировка типов ошибок.
 | ||
| *   Разделение кода обработки ошибок из нормального кода.
 | ||
| *   Функции / методы могут обрабатывать любые исключения, которые они выбирают. |