La gestione degli errori legacy tende a seguire il metodo con cui tutte le funzioni restituiscono un codice in base al successo/fallimento. Dovresti controllare questo codice e gestire (se c'è un errore) in modo appropriato.Perché è meglio lanciare un'eccezione anziché restituire un codice di errore?
I linguaggi di programmazione moderni seguono tuttavia il modello di eccezione, dove se succede qualcosa straordinario che non può essere gestito correttamente viene lanciata un'eccezione che continua a ribollire fino a quando non viene gestita.
La mia domanda è perché ci siamo spostati verso il modello di eccezione? Quali sono le ragioni alla base di questo? Perché è meglio?
Le spiegazioni/collegamenti sarebbero molto apprezzate.
non hai escluso il tuo elenco il fatto che l'utilizzo di eccezioni consenta try/catch (MyCustomException ex) in modo che tu (o altri sviluppatori) possa aggiungere try/catch che cattureranno solo il nuovo tipo di eccezione che hai creato. –
Questo è un punto eccellente. Mi piace che i livelli possano ignorare le eccezioni e lasciarli passare. Il tuo punto è che può essere ben definito per il singolo tipo di eccezione (presupponendo che tu stia utilizzando una lingua che supporta l'acquisizione di eccezioni per tipo). –