Mi trovo sempre a lottare con questo ... cercando di trovare il giusto equilibrio tra provare / catturare e il codice che non diventa questo osceno pasticcio di schede, parentesi ed eccezioni che vengono rigirate nello stack di chiamate come una patata bollente. Ad esempio, ho un'app che sto sviluppando in questo momento che utilizza SQLite. Ho un'interfaccia di database che estrae le chiamate SQLite e un modello che accetta le cose per entrare / uscire dal database ... Quindi se / quando si verifica un'eccezione SQLite, deve essere lanciato al modello (che l'ha chiamato ), che deve passarlo a chiunque abbia chiamato AddRecord / DeleteRecord / qualunque cosa ...
Sono un fan delle eccezioni rispetto alla restituzione dei codici di errore perché i codici di errore possono essere ignorati, dimenticati, ecc., Mentre un'eccezione deve essenzialmente essere gestita (garantito, potrei catturare e passare immediatamente ...) Sono certo che deve esserci un modo migliore di quello che sto succedendo adesso.
Modifica: avrei dovuto formularlo in modo leggermente diverso. Capisco di respingere come tipi diversi e simili, l'ho espresso male e questa è colpa mia. La mia domanda è ... come si fa a mantenere pulito il codice quando lo si fa? Comincia a sentirmi estremamente disordinato dopo un po '.