Salve, sto scrivendo una classe template per uno stack e all'interno della funzione pop faccio uso di di una throw out_of_range della libreria stdexceptio.
Io non sono ancora molto pratico è vorrei sapere come faccio a gestire l'eccezzione nel main. Spero ci sia qualcuno che mi può dare una mano, grazie.

Il codice del metodo è:
codice:
template <class T>
T stack<T>::pop(){
    if (size==0) throw std::out_of_range("Pila vuota");; 
    testa=(testa)->next;
    dat=testa->dato;
    size--;
    return dat;
};
Mentre nel main vorrei gestire l'eccezione causata dallo stack vuoto, stampando a video "Pila vuota". Come faccio a recuperare la stringa di throw std:ut_of_range?
codice:
int main(){
     int i;
     stack<int>* a=new stack<int>;
     try {i=a->pop();}
     catch (std::out_of_range &) {
        //qui vorrei stampare la stringa che si trova in pop out_of_range ???
    }
     return 0;
}