Как перехватить исключения переполнения массива?
Пытаюсь перехватить исключение переполнения массива, но когда доходит до элемента который нужно обработать компилятор пропускает блок catch. Ошибка: Run-Time Check Failure #2 - Stack around the variable 'Array' was corrupted.
#include <iostream>
#include <cstdlib>
using namespace std;
void Array()
{
const int n = 6;
int Array[6];
for (int i = 0; i < 8; i++)
{
try {
if (i == 7) throw 7;
Array[i] = rand() % 10 + 1;
}
catch(int k)
{
cout << k;
}
catch(...)
{
i = 5;
cout << "Stack overflow\n";
}
}
}
int main()
{
Array();
cin.get();
return 0;
}