Ho il seguente codice:

codice:
#include <iostream>
using namespace std;

extern void Pause();

void Pause()
{
	char pause;
	cin >> pause;
}

int main()
{
	cout << "Calcolo numeri:\n\n" << endl;
	int n;
	for (int i=1; i <= 10; i++)
	{
		cout << i << " -> Inserisci numero: ";// << endl;
		cin >> n;
		cout << "     n*n = " << n*n << endl;
	}
	cout << "\n\nFine." << endl;
	Pause();
	return 0;
    
}
Se inserisco un numero piccolo, il calcolo è corretto.
Se inserisco un numero medio, il calcolo ritorna un numero negativo, e questo è ovvio perchè va in overflow.
Se inserisco un numero grande, il programma termina immediatamente.

Perchè?? Viene generata un'eccezione?? Come posso gestirla??