C'è una ragione valida per cui un blocco catch
su un livello inferiore restituisce un'eccezione causata da un livello sconosciuto più alto utilizzando la seguente sintassi:
throw ex;
... piuttosto che:
throw;
...?
Nel primo caso, non solo il blocco catch
non si occupa dell'eccezione, ma resetta anche la sua proprietà StackTrace
, rendendo più difficile capire cosa l'abbia causato.
Perché qualcuno dovrebbe volere un blocco catch
in un livello inferiore per comportarsi in questo modo?