In questa pagina (in inglese, ma ne vale la pena) trovi una spiegazione abbastanza esauriente di come si usano le eccezioni nel C++ standard.
Per quanto riguarda il loro uso, è esattamente quello classico di Java (try-catch), con sintassi praticamente identica:

codice:
try
{
   //codice a rischio eccezioni
}
catch(std::exception& err) //& indica un riferimento (surrogato di puntatore)
{
   //codice gestione eccezione
   //what() restituisce la descrizione
   cout << "Errore: " << err.what() << endl;
}
Per quanto riguarda cosa va scritto nel blocco catch, esistono eccezioni standard (std::exception, o casi più specifici come std:ut_of_range), ma è anche possibile definirne di personalizzate. Il loro "lancio" si fa con la throw come in Java.

Non si finisce mai di imparare... credevo che cose del genere fossero ammesse solo in Java, C# e Visual C++ .NET.