I'm trying to go thru the SCJP book and also the Sun exam objectives and organize some notes on the subject of exceptions. All the exceptions listed in the objectives seem to be unchecked exceptions (they are subclasses of RuntimeException or Error). I see nothing listed on direct subclasses of Exception, so I'm wondering which checked exceptions were are supposed to know for the exam. Can anyone help or refer me to some notes on exceptions?
Here's what I have so far:
java.lang.Object <-- Throwable<--Exception <-- RuntimeException
java.lang.Object <-- Throwable<--Error
Checked: ClassNotFoundException, DateFormatException, InterruptedException, IOException, NoSuchFieldException, NoSuchMethodException
Unchecked: RuntimeException, ArithmeticException, ClassCastException, IllegalArgumentException<--NumberFormatException, IllegalStateException, IllegalMonitorStateException, IndexOutOfBoundsException<--ArrayIndexOutOfBoundsException, NullPointerException, Error<--AssertionError, Error<--LinkageError<--ExceptionInInitializerError, Error<--VirtualMachineError<--StackOverflowError, Error<--LinkageError<--NoClassDefFoundError.
"Understand which of these are thrown by the virtual machine and recognize situations in which others should be thrown programatically."
I've read the section on this in K&B, and am still fuzzy on the concept, if someone could provide some clarity I'd appreciate that.