Il mio caso specifico qui è che l'utente può passare una stringa nell'applicazione, l'applicazione la analizza e la assegna agli oggetti strutturati. A volte l'utente può digitare qualcosa di non valido. Ad esempio, il loro contributo può descrivere una persona, ma possono dire che la loro età è "mela". Il comportamento corretto in questo caso è il rollback della transazione e per segnalare all'utente che si è verificato un errore e dovranno riprovare. Potrebbe esserci un obbligo di segnalare ogni errore che possiamo trovare nell'input, non solo il primo.
In questo caso, ho sostenuto che dovremmo lanciare un'eccezione. Era in disaccordo, dicendo: "Le eccezioni dovrebbero essere eccezionali: è previsto che l'utente possa inserire dati non validi, quindi questo non è un caso eccezionale" Non sapevo davvero come argomentare quel punto, perché per definizione della parola, lui sembra giusto
Ma, a mio avviso, questo è il motivo per cui le eccezioni sono state inventate in primo luogo. Un tempo aveva per ispezionare il risultato per vedere se si è verificato un errore. Se non sei riuscito a controllare, le cose brutte potrebbero accadere senza che te ne accorga.
Senza eccezioni, ogni livello dello stack deve controllare il risultato dei metodi che chiamano e se un programmatore dimentica di controllare uno di questi livelli, il codice potrebbe procedere accidentalmente e salvare dati non validi (ad esempio). Sembra più incline agli errori in questo modo.
Ad ogni modo, sentiti libero di correggere qualsiasi cosa abbia detto qui. La mia domanda principale è se qualcuno dice che le eccezioni dovrebbero essere eccezionali, come faccio a sapere se il mio caso è eccezionale?