Penso che un fattore importante sia chi sono i tuoi clienti di servizio.
Se il tuo livello di servizio è solo un confine architettonico tra i livelli del tuo progetto, e il client di servizio si trova nello stesso ambito di fiducia, allora è ok per rilassare le cose e lasciare che le eccezioni incontrollate diventino bolle al livello del controller, o cliente di servizio.
Tuttavia, per il codice di affissione pubblica; servizio che viene consumato da una terza parte o cliente, penso sia più pulito avvolgere eventuali eccezioni non controllate con un'eccezione orientata ai servizi, principalmente per problemi di sicurezza, in secondo luogo per un accoppiamento lento e un'astrazione pulita.
Un'eccezione del livello dati non dovrebbe mai, direttamente, renderla completamente all'utente finale di un'applicazione web . Contiene potenzialmente informazioni interne sullo schema, le query, informazioni sul numero di riga, nomi di variabili o funzioni, ecc. Le eccezioni degli utenti finali possono essere disinfettate in un ambiente sicuro.
Un client di servizio esterno non riguarda i dettagli dell'implementazione e non può comunque gestire eccezioni non controllate, in quanto sono bug o problemi ambientali. Nelle applicazioni protette, gli errori del database non sono abbastanza sicuri da propagarsi, OracleException - ORA-01234 - ...
che potrebbe essere la terza tabella che è stata inserita. Il client dovrebbe essere autorizzato a gestire eventuali eccezioni verificate / previste che può gestire e trattare tutto il resto come una potenziale segnalazione di bug. Il contratto di servizio deve essere un'astrazione atomica, coerente, transazionale. Se non può fare nulla sull'eccezione, l'unica cosa utile è darti un rapporto sui bug . Hai già la possibilità di registrare l'eccezione, quindi perché caricare l'utente finale con i dettagli? La tua app può essere monitorata in modo tale che tu sappia già delle eccezioni non controllate prima che gli utenti le segnalino.
Non è mai ok per le eccezioni eat , né sono un fan delle eccezioni controllate, ma preferisco avere un piano appropriato per la natura del prodotto nel suo complesso.