Nel momento in cui vai a richiamare insert da qualche parte nel call stack avrai inserito un gestore di eccezioni (eventualmente proprio attorno alla insert); quando catturi una const std::exception & o una classe che da essa deriva puoi usare il metodo what() per ottenere dettagli dell'errore. In ogni caso, in genere la descrizione così ottenuta è utile giusto come messaggio da visualizzare, se ci sono dati specifici relativi ad un particolare errore è bene creare una classe-eccezione apposita e fornire tali dati come membri della classe.Originariamente inviato da giuseppe500
grazie gente.
ma per es , ho il seguente codice:
è possibile ottenere un errore piu dettagliato ?codice:virtual void insert(const T& value = getUnset(T())) throw(std::out_of_range) { setUnset(false); m_id = CDebug::Add(); m_id = m_id; std::set<T>::insert(value); if (_hi>0) { if (Integer(std::set<T>::size())>_hi) { std::set<T>::erase(value); throw std::out_of_range("Set is full"); } } }
ho letto che si puo usare qualcosa tipo "what()" ma non ho capito bene.
grazie