Errore throws

di il
1 risposte

Errore throws

Salve ragazzi e buon anno ho questo codice e mi da errore QUI :
public class Test1 {
    
   void readCard(int cardNo) throws Exception {
         System.out.println("Reading Card");
   }

   void checkCard(int cardNo) throws RuntimeException {
         System.out.println("Checking Card");
   }

public static void main (String [] args) {
      Test1 ex = new Test1();
      int cardNo = 12344;
      ex.checkCard(cardNo);
      ex.readCard(cardNo);     <----- QUI
}
}
l'errore dice cosi "unreported exception Exception; must be caught or declared to be thrown"

1 Risposte

  • Re: Errore throws

    maracaibo25 ha scritto:


    Salve ragazzi e buon anno ho questo codice e mi da errore QUI :
    l'errore dice cosi "unreported exception Exception; must be caught or declared to be thrown"
    È la differenza tra eccezioni "checked" e "unchecked".

    checkCard dichiara di lanciare RuntimeException (poi se la lancia davvero o no, NON conta) che è una eccezione "unchecked". Vuol dire che il chiamante (main) NON ha alcun obbligo né di catturarla, né di dichiararla a sua volta per farla uscire più a monte.

    readCard invece dichiara di lanciare Exception che tecnicamente è "checked". Vuol dire che NON può essere ignorata dal programmatore. Il chiamante (main) ha l'obbligo di trattarla in qualche modo: catturandola o dichiarandola a sua volta per farla uscire. Non può non fare "nulla".
Devi accedere o registrarti per scrivere nel forum
1 risposte