Professional Documents
Culture Documents
V. Matos
DRIVER
package csu.matos;
/*******************************************************************
* Author: V. Matos
* Date: 15-Feb-2012
* Goal: Explore Exception mechanism in Java
* 1. division by zero example
* 2. user-created exception (NegativeRadiusException)
*/
public static void main(String[] args) {
// demo1DivisioByZero();
demo2NegativeRadius();
}
// //////////////////////////////////////////////////////////
private static void demo1DivisioByZero() {
int number1 = 100;
int number2 = 0;
try {
double result = computeDivision(number1, number2);
System.out.println(result);
} catch (Exception e) {
System.out.println("catch talking: " + e.getMessage());
e.printStackTrace();
}
finally {
System.out.println("1a. life goes on...");
}
System.out.println("2a. life continues to go on...");
}
// ///////////////////////////////////////////////////////////////////
private static double computeDivision(int number1, int number2)
throws Exception {
if (number2 == 0)
throw new Exception(
"ComputeDivision - NASTY MESSAGE zero divisor");
return 0;
}
// /////////////////////////////////////////////////////////////
private static void demo2NegativeRadius() {
// GOAL: do not allow user to create an 'impossible' circle
// reject creation/setting of a negative radius value.
try {
SimpleCircle sc1 = new SimpleCircle(-2);
sc1.showData();
sc1.setRadius(-1);
sc1.showData();
} catch (MyInvalidRadiusException e) {
System.out.println(e.getMessage());
e.printStackTrace();
} finally {
System.out.println("1b. life goes on ... ");
}
SimpleCircle Class
package csu.matos;
// constructors
public SimpleCircle() {
this.radius = 0;
}
// mutators
public int getRadius() {
return radius;
}
if (radius < 0)
throw new MyInvalidRadiusException(
"E1001- Mutator talking - Impossible value for radius: "
+ radius);
else
this.radius = radius;
// user-defined methods
public void showData() {
System.out.println("SimpleCircle with radius: " + radius);
}
}
MyInvalidRadiusException Class
package csu.matos;
// constructors
public MyInvalidRadiusException() {
}
// caller will use this method to extract the contents of the exception
@Override
public String getMessage() {
return "MyInvalidRadiusException talking - " + myMsg;
}
Testing demo1ZeroDivision()
Testing demo2InvalidRadius()