Come si implementa elegantemente la gestione degli errori? Ad esempio, il mio livello di accesso ai dati può potenzialmente generare 2 tipi di errori: 1) accesso non autorizzato, nel qual caso la pagina dovrebbe nascondere tutto e mostrare solo il messaggio di errore 2) errori che informano l'utente che qualcosa del genere esiste già nel database (ad esempio il nome non è univoco, ad esempio), e in questo caso non vorrei nascondere tutto.Gestione errori nell'architettura a 3 livelli
Modificato:
A seguito di alcuni commenti qui ho messo a punto che dovrei creare derivato tipi di eccezione specializzati, come NotAuthorizedException, DuplicateException, etc etc .... è tutto bene e dandy, ma posso vedere 2 problemi potenzialmente:
1) Ogni stored procedure ha un campo di ritorno p_error in cui contiene un messaggio di errore. Dopo aver ottenuto i dati dal DB, ho bisogno di controllare questo campo per vedere quale tipo di errore è stato restituito, quindi posso lanciare un'eccezione appropriata. Quindi, ho ancora bisogno di memorizzare i miei tipi di errore/messaggi di errore da qualche parte ..... In altre parole, come dovrei il messaggio esatto per l'utente (in determinati momenti ho bisogno di) w/o controllare prima il campo p_error. Chi mi riporta all'errore oggetto. Chiunque?
2) Posso trasformarlo potenzialmente in un incubo in cui il numero di eccezioni è uguale al numero di tipi di messaggi di errore.
Mi manca qualcosa qui?
Mille grazie a tutti!
semplice ed elegante, ho avuto qualcosa di simile implementato in realtà. L'unico lato negativo di questo è riferimenti extra da includere – sarsnake