(Ri)Lancio
Quando un metodo lancia un'eccezione, il metodo chiamante deve gestirla. Per gestirla, può usare try/catch oppure rilanciarla. In questo esercizio vedrai come un metodo chiamante rilancia un'eccezione.
Questo esercizio fa parte del corso
Tipi di dati ed eccezioni in Java
Istruzioni dell'esercizio
- Chiama il metodo
dineOut()con 9 persone per innescare l'Exception. - Poiché il metodo
dineOut()non gestisce l'eccezione, rilancia l'Exception. - Poiché il metodo
splitBill()non gestisce l'eccezione, lancia l'Exception.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
public class RethrowingExample {
public static void main(String[] args) {
try {
// Trigger the exception by calling dineOut with 9 people
dineOut(____, 50.00);
} catch (Exception e) {
System.out.println("Atempting to divide bill with too many diners");
}
}
// Rethrow the Exception
public static void dineOut(int people, double bill) ____ ____ {
double each = splitBill(bill, people);
System.out.println("Bill for each person: " + each);
}
// Throw the Exception
public static double splitBill(double bill, int people) ____ ____ {
if (people < 3) {
return bill / people;
} else {
throw new Exception();
}
}
}