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

    eccezioni..throw o catch?

    sareste così gentili da spiegarmi quando conviene utilizzare il throw dopo l'intestazione del metodo (per intenderci es. public void cancellaAlbergo(String albergo, String citta) throws UnknownHotelException{ ) e quando conviene invece utilizzare il try..catch??

    grazie..

  2. #2
    Utente di HTML.it L'avatar di morphy79
    Registrato dal
    Jun 2004
    Messaggi
    1,568
    con il throw "trasmetti" l'eccezione alla classe chiamante il metodo...
    (la classe chiamante dovrà esser lei a gestire con try e catch il possibile errore...)

    invece con try e catch gestisci direttamente l'eccezione nel metodo senza trasmetterlo a chi l'ha invocato...

    fondamentalmente è questa la differenza principale...

    per esperienza inizialmente usavo sempre il try catch, ma facendo man mano nuovi lavori ho iniziato sempre di più ad utilizzare il throw e ha gestire tutti gli errori dalla classe "chiamante"

    odio chi parla di politica..
    anzi vorrei fondare un partito contro tutto ciò

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: eccezioni..throw o catch?

    Originariamente inviato da kdtcobain
    sareste così gentili da spiegarmi quando conviene utilizzare il throw dopo l'intestazione del metodo (per intenderci es. public void cancellaAlbergo(String albergo, String citta) throws UnknownHotelException{ ) e quando conviene invece utilizzare il try..catch??
    In Java esistono 2 categorie di eccezioni: quelle "checked" e quelle "unchecked".

    Quelle "checked" sono tutte quelle che derivano da Exception ad esclusione di quelle che derivano dalla sotto-classe RuntimeException. Quelle "unchecked" sono tutte le altre.

    Per le "checked" vale una semplice regola che viene detta: "handle or declare". Una eccezione "checked" quindi sei obbligato o a gestirla (con try-catch) o a dichiararla (con il throws).

    Per le "unchecked" invece non c'è alcuna regola: non sei obbligato a gestirle con try-catch (ma puoi farlo, per certe eccezioni) e non sei obbligato a dichiararle (anche se farlo, renderebbe forse più chiaro l'utilizzo del metodo).

    Anzi, ci sono delle eccezioni "unchecked" che non dovresti nemmeno cercare di catturare, poiché sarebbe inutile.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.