Ho letto un sacco di tutorial e ho visto molti esempi di codice riguardanti le implementazioni del pattern Repository
. In quasi tutti i casi, le eccezioni che deriverebbero dal tentativo di colpire il database quando il database non è disponibile non sono indirizzate. Questo sembra strano considerando che questo è uno scenario molto realistico se il DB è da qualche parte su una rete.Perché gli esempi del pattern di repository non hanno mai a che fare con le eccezioni di connessione al database?
Quindi qual è la procedura migliore per gestire queste eccezioni?
Avvolgere ognuna di quelle centinaia di chiamate in un try/catch, dove ognuno potrebbe avere gli stessi blocchi n di cattura? Questo è un sacco di doppioni, disordinato, soggetto a errori, ecc
Diamo la bolla eccezioni fino al livello applicazione di una loro cattura come eccezioni non gestite? Questo ha senso se l'eccezione è lanciata sul thread dell'interfaccia utente, ma in caso contrario, la gestione di un'eccezione AppDomain non gestita determina la chiusura dell'app.
Utilizzare un framework come Exception Gestione blocco applicazioni?
Molti errori non possono essere riprovati a livello di repository. Ad esempio deadlock, timeout, errori di rete devono essere ripetuti a livello di transazione che può estendersi su più operazioni di pronti contro termine. – usr