Originariamente inviato da MItaly

O ancora, se ci fossero una serie di operazioni che possono fallire, confronta l'idioma ad eccezioni:
codice:
try
{
    operazione1();
    operazione2();
    operazione3();
    operazione4();
    operazione5();
}
catch(std::exception & ex)
{
    std::cout<<"Si è verificato un errore tragico; impossibile brematurare l'antani."<<std::endl
        <<"Dettagli errore: "<<ex.what()<<std::endl;
}
con quello a codici restituiti:
codice:
if(!operazione1())
{
    // messaggio di errore
    // salto alla fine del blocco
}
if(!operazione2())
{
    // idem
}
// ... eccetera ...

questo sopra secondo me è l'esempio da prendere in considerzione... io come puoi capire utilizzo il secondo metodo, che mi permette di gestire anche in maniera opportuna operazioni particolari per ciascun errore...

ora nel caso per esempio usando try & catch e la funzione operazione4 mi restituisce un errore come faccio nel blocco catch ad eseguire una particolare istruzione che voglio eseguire solo nel caso in cui operazione4 fallisce (fallisce nel senso restituisce false o un valore < 0 per distinguere l'errore)?

non so se mi sono spiegato

per quanto riguarda lo scheduler preempitve allora li riesco ad inutire l'utilità del try catch (controllare se esiste un file -> poi effettuare operazione di scrittura) però questo è un caso abbastanza limite credo, quindi lasciamolo fuori