Writing and throwing your own exceptions:
import java.awt.*;
import java.util.*;
public class ExceptionTest {
public static void main(String [] args)
throws InvalidLetterGradeValueException {
LetterGrade lg1 = new LetterGrade("B");
LetterGrade lg2 = new LetterGrade("F-");
}
}
class LetterGrade {
private String lettergrade;
private static String [] possiblevalues = {"A","A-","B+","B","B-",
"C+","C","C-","D+","D",
"D-","F"};
public LetterGrade(String letter) throws InvalidLetterGradeValueException {
if (!isValid(letter)) {
throw new InvalidLetterGradeValueException(letter);
}
lettergrade = letter;
}
public static boolean isValid(String letter) {
for (int i = 0; i < possiblevalues.length; ++i) {
if (letter.equals(possiblevalues[i])) {
return true;
}
}
return false;
}
public String getValue() {
return lettergrade;
}
}
class InvalidLetterGradeValueException extends Exception {
public InvalidLetterGradeValueException(String letter){
super("Value " + letter + " is out of range");
}
}
This is an example from CSci 1211 course.