Java Reference
In-Depth Information
Display 9.5
Using a Programmer-Dei ned Exception Class
(part 2 of 3)
13
if
(denominator == 0)
14
throw new
DivisionByZeroException();
15
double
quotient = numerator/(
double
)denominator;
16 System.out.println(numerator + "/"
17 + denominator
18 + " = " + quotient);
19 }
20
catch
(DivisionByZeroException e)
21 {
22 System.out.println(e.getMessage());
23 secondChance();
24 }
25 System.out.println("End of program.");
26 }
27
public static void
secondChance()
28 {
29 Scanner keyboard =
new
Scanner(System.in);
30 System.out.println("Try again:");
31 System.out.println("Enter numerator:");
32
int
numerator = keyboard.nextInt();
33 System.out.println("Enter denominator:");
34 System.out.println("Be sure the denominator is not zero.");
35
int
denominator = keyboard.nextInt();
36
37
if
(denominator == 0)
38 {
39 System.out.println("I cannot do division by zero.");
40 System.out.println("Aborting program.");
41 System.exit(0);
42 }
Sometimes it is better to handle
an exceptional case without throwing
an exception.
43
double
quotient = ((
double
)numerator)/denominator;
44 System.out.println(numerator + "/"
45
+ denominator
46
+ " = " + quotient);
47 }
48 }