Differenza tra throw new eccezione e eccezione= new eccezione

di il
2 risposte

Differenza tra throw new eccezione e eccezione= new eccezione

Salve, volevo sapere qual è la differenza tra throw new Eccezione e "Eccezione e = new ..., throw e" dal punto di vista della memoria (garbage collector).

2 Risposte

  • Re: Differenza tra throw new eccezione e eccezione= new eccezione

    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.
  • Re: Differenza tra throw new eccezione e eccezione= new eccezione

    Okay ti ringrazio molto per la risposta.
Devi accedere o registrarti per scrivere nel forum
2 risposte