Large memory Allocation/Large Static Memory Allocation
In general, any compiler or any language will accept up to 10^8. However, to be on the safe side we generally used up to 10^7. In the below code, the size of the array is more than 10^8 so here we got an error due to large memory allocation. It is also called an abort signal (SIGABRT).
Below is the C++ program to demonstrate large memory allocation runtime exception:
C++
// C++ program to demonstrate // large memory allocation // runtime exception #include <iostream> using namespace std; // Driver code int main() { int a = 100000000000; int * arr = new int [a]; return 0; } |
Output:
C++ Program to Show Runtime Exceptions
A runtime error occurs while the program is running. Because this is not a compilation error, the compilation will be completed successfully. Here, we will learn how to handle runtime exceptions in C++.
There are 5 types of runtime exceptions discussed here:
- Division by zero.
- Segmentation faults.
- Large memory allocation/Large Static Memory Allocation.
- Type Specifier Error.
- Invalid memory access during runtime.
Let’s start discussing each of these runtime errors in detail.