Mi trovo sempre a lottare con questo ... cercando di trovare il giusto equilibrio tra try / catching e il codice non sta diventando questo osceno pasticcio di schede, parentesi ed eccezioni che vengono rimessi nello stack delle chiamate come una patata bollente. Ad esempio, ho un'applicazione che sto sviluppando proprio ora che usa SQLite. Ho un'interfaccia Database che astrae 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 sballottata sul Modello (chi l'ha chiamata ), che deve passarlo a chiunque abbia chiamato AddRecord / DeleteRecord / qualunque ...
Sono un fan delle eccezioni piuttosto che dei codici di errore restituiti perché i codici di errore possono essere ignorati, dimenticati, ecc., mentre un'eccezione deve essere gestita (garantito, I potrebbe catturare e andare avanti immediatamente ...) Sono certo che ci sarà un modo migliore di quello che sto facendo adesso.
Modifica: avrei dovuto formularlo in modo leggermente diverso. Capisco di ri-lanciare come tipi diversi e simili, l'ho scritto male e questa è colpa mia. La mia domanda è ... come si fa a mantenere il codice pulito quando lo fa? Inizia a sentirmi estremamente disordinato dopo un po '.