Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [JAVA] try catch finally

    Salve ragazzi,
    nel costrutto try-catch-finally,
    il finally viene eseguito in ogni caso?
    Cioè sia se si verifica un eccezione, sia se non si verifica?

    Se il metodo che contiene il try-catch deve restituire un valore, dove è più corretto mettere il return "valore"?
    nel try o nel finally?

    Ad esempio io devo fare un metodo che restituisce 1 se va bene, -1 se si è verificata un'eccezione!

    Help me
    Grazie
    Luca

  2. #2

    Re: [JAVA] try catch finally

    Originariamente inviato da luketto
    Salve ragazzi,
    nel costrutto try-catch-finally,
    il finally viene eseguito in ogni caso?
    Cioè sia se si verifica un eccezione, sia se non si verifica?
    il finally viene eseguito in ogni caso...


    Se il metodo che contiene il try-catch deve restituire un valore, dove è più corretto mettere il return "valore"?
    nel try o nel finally?

    Ad esempio io devo fare un metodo che restituisce 1 se va bene, -1 se si è verificata un'eccezione!
    se metti il return nel finally.... ti restituisce quel return tutte le volte... qualunque cosa succeda.


    comunque si dovrebbe fare un try con un metodo, il quale avrà il suo return, ed il finally(che è opzionale) se proprio si vuole che comunque vada venga fatto qualcosa.
    Quanti programmatori sono necessari per cambiare una lampadina?
    Nessuno, e' un problema hardware.

  3. #3
    Utente di HTML.it L'avatar di MatCap83
    Registrato dal
    Jun 2005
    residenza
    Firenze
    Messaggi
    1,319
    Sì, il finally viene eseguito in ogni caso, ovviamente se non viene messo il return prima del finally! Se devi far ritornare il valore 1 se va bene, allora il return va inserito nel try, mentre se nell' esecuzione del try viene sollevata l' eccezioneX, allora all' interno del catch (eccezioneX ex) fai ritornare il valore -1....
    "Nessuno mi ha visto farlo, e non puoi provarlo in nessun modo!" (Bart Simpson)

    >>> www.ombresulweb.com <<<

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Alternativa: non mettere il finally, utilizza una variabile per il risultato e usa una sola istruzione return fuori dal try/catch. Così il metodo rimane più leggibile e manutenibile.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.