keverk ha scritto:
Salve, volevo sapere qual è la differenza tra throw new Eccezione e "Eccezione e = new ..., throw e" dal punto di vista della memoria (garbage collector).
Praticamente nessuna.
throw new XyzException();
e
XyzException e = new XyzException();
throw e;
fanno funzionalmente la stessa identica cosa e dal punto di vista della istanziazione dell'oggetto eccezione non c'è differenza. E per quanto riguarda il garbage collector, non c'è differenza. Ci sarà da qualche parte "qualcuno" che prima o poi la cattura, quando si uscirà da quel catch, se l'eccezione non è raggiungibile per altri motivi sarà eleggibile per il g.c.
L'unica lievissima differenza è che nel secondo caso hai una variabile "locale" in più allocata nello stack-frame del metodo.