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