È molto comune in .NET che un'eccezione venga racchiusa in più livelli di "eccezioni esterne" che forniscono dati marginalmente più contestuali. Ad esempio, in EF se il tuo aggiornamento fallisce, ottieni delle eccezioni avvolte in questo modo:
-
EntityException
-
DbUpdateException
-
SqlException
I dati che ho bisogno di capire che cosa è fallito è quasi sempre nella SqlException
, quindi qual è il vantaggio per gli altri due? Cosa succede se stavo usando EF all'interno di una libreria personalizzata, dovrei avvolgere questa eccezione con una delle mie? Mi piace MyCustomLibraryException: Could not update the data. See inner exception for details.