43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Error Handling | |||
|  | --- | |||
|  | # C++ Exception Handling
 | |||
|  | An exception is a problem that arises during the execution of a program.Exceptions provide a way to transfer control from one part of a program to another. C++ exception handling is built upon three keywords: #try, #catch, and #throw. | |||
|  | * #throw − A program throws an exception when a problem shows up. This is done using a throw keyword. | |||
|  | 
 | |||
|  | * #catch − A program catches an exception with an exception handler at the place in a program where you want to handle the problem. The catch keyword indicates the catching of an exception. | |||
|  | 
 | |||
|  | * #try − A try block identifies a block of code for which particular exceptions will be activated. It's followed by one or more catch blocks. | |||
|  | ```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; | |||
|  | } | |||
|  | ``` | |||
|  | 
 | |||
|  | # Before you go on...
 | |||
|  | ## A review
 | |||
|  | * Grouping of Error Types. | |||
|  | * Separation of Error Handling code from Normal Code. | |||
|  | * Functions/Methods can handle any exceptions they choose. |