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