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