Как работать с try — catch при проверке ввода в С++?
Указатель в cin при ошибке не сдвигается.
1. как написал superhabra, надо снимать failbit cin.clear()
2. надо чем-то сдвигать указатель, например cin.ignore(1)
А что дальше-то идет? Может, оно в другом месте завершается. Например, там, где используется var с непонятно каким значением.