Как перехватить исключения переполнения массива?

Пытаюсь перехватить исключение переполнения массива, но когда доходит до элемента который нужно обработать компилятор пропускает блок 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;
}


Ответы (0 шт):