Smemoratezze dal sottosuolo

Un blog che è uno spettacolo anche quando è offline

Java, come si comporta il finally se si rilanciano eccezioni?

with 11 comments

Mi è stato dato del “blog tecnico“, quindi sono profondamente offeso. Ma ringrazio il sempre buon prostatico antiblogger per il pensiero. E per sdebitarmi rispondo a un quesito che sicuramente ha assillato lui e voi tutti fin dal primo giorno che avete visto una Java Virtual Machine. Cosa succede se lancio un’eccezione all’interno di un catch seguito da un finally? La logica dovrebbe farvi rispondere correttamente, ma potreste essere tratti in inganno. Che le vostre convinzioni non vacillino: il blocco contenuto nel finally viene eseguito sempre e comunque, cascasse il mondo (ricordatevelo, se siete allo step precedente nell’impervia strada della conoscenza: viene eseguito anche se non sono state lanciate eccezioni).

Programmino di esempio che mi sono scritto oggi mentre bestemmiavo in luganese (!):

public class ProvaFinally {

        public static void main(String[] args) {
                try {
                        try {
                                System.out.println("0");
                                throw (new Exception());
                        } catch (Exception e) {
                                System.out.println ("1");
                                throw(e);
                        } finally {
                                System.out.println("2");
                        }
                } catch (Exception e) {
                        System.out.println("3");
                }
        }
}

L’output sarà:

0
1
2
3

Non vi sentite un po’ più ricchi, ora? Che bella cosa, essere sapienti.

Written by StM

February 1st, 2008 at 8:27 pm

Posted in how-tos

Tagged with , , , , ,

11 Responses to 'Java, come si comporta il finally se si rilanciano eccezioni?'

Subscribe to comments with RSS or TrackBack to 'Java, come si comporta il finally se si rilanciano eccezioni?'.

  1. Uhm, ora che ci penso forse era più adatta la categoria “blog erotico”.

    ABS

    2 Feb 08 at 0:07

  2. :]

    StM

    2 Feb 08 at 0:51

  3. Certo.
    Ti offendi se ti dico che non me ne frega un razzo delle Z nominee o come diavolo si chiamano quelle cose inutili?

    Obi-Fran Kenobi

    2 Feb 08 at 1:53

  4. Postilla: no, non lo dico perchè non sono nominato in alcuna categoria, lol. Vorrei essere nominato, così la mia noncuranza sembrerebbe più veritiera. :D

    Obi-Fran Kenobi

    2 Feb 08 at 1:53

  5. Io non mi offendo, però mi sono astenuto perché non mi pare gentile nei confronti di chi organizza u_u

    StM

    2 Feb 08 at 1:55

  6. A mio parere solo utili solo per far conoscere qualche blog carino, senza pretese di esaustività o altro, tra i miliardi che vengono selvaggiamente aperti ogni giorno. Se poi la gente li interpreta come “facciamo a chi ce l’ha più grosso”, o crede davvero che sia sensata una qualsiasi classifica che stabilisca che il blog personale di tizia è meglio di quello di caia, beh, è messa male.

    ABS

    2 Feb 08 at 2:51

  7. Be’, sì, infatti prima o poi mi spulcerò la lista dei nominati. Prima o poi.

    StM

    2 Feb 08 at 12:07

  8. Io più poi che prima.
    (messaggio di spam gratuito per pubblicizzare Cloverfield. Andate a vederlo al cinema appena potete).

    Obi-Fran Kenobi

    3 Feb 08 at 15:37

  9. :-)

    ete

    4 Feb 08 at 19:27

  10. /te sempre più gikkissimo :-D

    ete

    4 Feb 08 at 19:29

  11. E tu che fai, la latitante? :D

    StM

    4 Feb 08 at 20:09

Leave a Reply