Kasta (vidare) undantag
När en metod kastar ett undantag måste den anropande metoden hantera det. Det kan antingen ske med try/catch eller genom att kasta undantaget vidare. I den här övningen ser du hur en anropande metod kastar ett undantag vidare.
Den här övningen är en del av kursen
Datatyper och undantag i Java
Övningsinstruktioner
- Anropa metoden
dineOut()med 9 gäster så attExceptionutlöses. - Eftersom metoden
dineOut()inte hanterar undantaget, kasta det vidare medException. - Eftersom metoden
splitBill()inte hanterar undantaget, kasta vidareException.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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();
}
}
}