...
This code reports errors if s
is a null pointer, or is an empty String
. However, it also unintentionally catches other errors that are unlikely to be handled properly, such as if the string belongs to a different thread.
...
Code Block | ||
---|---|---|
| ||
public class DivideException {
public static void main(String[] args) {
try {
division(200,5);
division(200,0); //divide by zero
} catch (Exception e) { System.out.println("Divide by zero exception : " + e.getMessage()); }
}
public static void division(int totalSum, int totalNumber) throws ArithmeticException, IOException {
int average = totalSum/totalNumber;
// Additional operations that may throw IOException...
System.out.println("Average: "+ average);
}
}
|
...
Code Block | ||
---|---|---|
| ||
import java.io.IOException;
public class DivideException {
public static void main(String[] args) {
try {
division(200,5);
division(200,0); //divide by zero
} catch (ArithmeticException ae) { throw new DivideByZeroException(); }
// DivideByZeroException extends Exception so is checked
catch (IOException ie) { System.out.println("I/O Exception occurred :" + ie.getMessage()); }
}
public static void division(int totalSum, int totalNumber) throws ArithmeticException, IOException {
int average = totalSum/totalNumber;
// Additional operations that may throw IOException...
System.out.println("Average: "+ average);
}
}
|
...