попробуйте обработать исключение выброса

У меня небольшие проблемы с тем, чтобы заставить работать следующий фрагмент кода. Я не могу написать исключение throw, поэтому не знаю, что еще я мог сделать.

case 't':  // Top of Stack
             try
             {
               cout << "Top() -- " << sPtr->Top() << endl; //this should run if the stack is not empty.
             }
             catch (StackEmpty)
             {
               cout << "Top() -- Failed Empty Stack" << endl; // this should run if the stack is empty.
             }
             break;

sPtr указывает на функцию Top () в имени класса. Стек вот код этой функции:

int Stack::Top() const  // Returns value of top integer on stack WITHOUT modifying the stack
{   cout << "*Top Start" << endl;
if(!IsEmpty())
return topPtr->data;
cout << "*Top End" << endl;
}

если я удалю оператор if, это вызовет проблему с ошибкой сегментации.

0
задан oscar tapia 22 September 2011 в 23:31
поделиться