Возник вопрос с исключениями в c++ try catch throw

У меня есть код:
int n;
try
{
cin>>n;

}
catch (...)
{
cout<<"Error";
}

как можно сделать чтобы при вводе в n буквы программа выводила на экран ошибку или выполняла другие нужные мне действия?

когда я писал
int n;
try
{
cin>>n;
throw 1;

}
catch (...)
{
cout<<"Error";
}

программа в любом случае выводила мне ошибку из блока catch

Помогите разобраться нубу)

Можно обойтись без исключений:

if (cin >> n) {
cout << n;
} else {
cout << "intput error\n";
}

или не обходится:

cin.exceptions(ios::failbit | ios::badbit );
try {
cin >> n;
} catch (istream::failure e) {
cout << e.what();
}

не понял вопроса, но, может быть
int n;
try
{
cin>>n;
if( some condition ) throw 1;
}
catch (...)
{
cout<<"Error";
}