Title: Create an original exception class.
Course: Java Programming (Oracle) (10055) > Section: Handling Exceptions

Creating and defining an original exception class follows two general steps:

1. Define the class as a subclass of exception (name of class should end with "exception").
2. Provide constructors corresponding to exception’s 2 constructor, simply invoking super(..) in each case.

Sample code for creating an original exception class follows:

class NonIntResultException extends Exception {
int n;
int d;

NonIntResultException(int i, int j) {
n = i;
d = j;
}

public String toString() {
return "Result of " + n + " / " + d +
" is non-integer.";
}
}

class CustomExceptDemo {
public static void main(String args[]) {

// Here, numer contains some odd values.
int numer[] = { 4, 8, 15, 32, 64, 127, 256, 512 };
int denom[] = { 2, 0, 4, 4, 0, 8 };
for(int i=0; i<numer.length; i++) {
try {
if((numer[i]%2) != 0)
throw new
NonIntResultException(numer[i], denom[i]);

System.out.println(numer[i] + " / " +
denom[i] + " is " +
numer[i]/denom[i]);
}
catch (ArithmeticException exc) {
// catch the exception
System.out.println("Can't divide by Zero!");
}
catch (ArrayIndexOutOfBoundsException exc) {
// catch the exception
System.out.println("No matching element found.");
}
catch (NonIntResultException exc) {
System.out.println(exc);
}
}
}
}