Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
.NET Framework
Alcune linee guida per la gestione delle eccezioni
domenica 26 febbraio 2012 - 17.10
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
C#
|
.NET 4.0
|
Windows 7
|
Visual Studio 2010
enzom83
Profilo
| Newbie
6
messaggi | Data Invio:
dom 26 feb 2012 - 17:10
Ho implementato una classe in C# con alcuni metodi che lanciano un'eccezione se qualche parametro specificato non è valido.
Due di questi metodi sono il metodo Add e il metodo Remove, che lanciano un'eccezione se il parametro specificato è null.
Poi c'è il metodo Replace, che serve per sostituire l'oggetto specificato come primo parametro con l'oggetto specificato come secondo parametro: questo metodo fondamentalmente prima invoca Remove per rimuovere il primo oggetto e poi chiama Add per rimuovere il secondo; ovviamente anche il metodo Replace potrebbe lanciare un'eccezione se il primo e/o il secondo parametro è null, quindi ho tre possibilità...
1) Dentro il metodo Replace controllo entrambi i parametri per vedere se sono null e lancio l'opportuna eccezione, e dopo chiamo i metodi Remove e Add della classe stessa. Ma in questo modo, i parametri verrebbero controllati due volte: prima dal metodo Replace e poi dagli altri due metodi, il che non va bene se i controlli fossero più onerosi che una semplice verifica di null... Ecco perché ho pensato ad una soluzione alternativa.
2) Dentro il metodo Replace non effettuo alcun controllo che verrebbe effettuato poi dai metodi Remove e Add: in questo modo, se Remove o Add lanciano delle eccezioni, queste vengono lanciate anche dal metodo Replace se uno dei due parametri è null.
3) Aggiungo due metodi privati per l'aggiunta e la rimozione (AddPrivate e RemovePrivate), ma che non effettuano alcuna verifica dei parametri in ingresso, così che il metodo Add prima verifica il parametro e poi chiama AddPrivate, il metodo Remove prima verifica il parametro e poi invoca RemovePrivate, infine il metodo Replace prima verifica i due parametri e poi invoca in ordine RemovePrivate e AddPrivate.
Quale delle soluzioni è migliore?
Vi ringrazio in anticipo per eventuali consigli!
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 6 apr 2012 - 11:13
Ciao
>2) Dentro il metodo Replace non effettuo alcun controllo che
>verrebbe effettuato poi dai metodi Remove e Add: in questo modo,
>se Remove o Add lanciano delle eccezioni, queste vengono lanciate
>anche dal metodo Replace se uno dei due parametri è null.
secondo me questa. In questo modo la try catch la puoi fare su ogni metodo avendo la garanzia che uno dei due ti rilancia l'eccezione.
>Vi ringrazio in anticipo per eventuali consigli!
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !