Unchecked Exception List
ArrayIndexOutOfBoundsException
ClassCastException
IllegalArgumentException
IllegalStateException
NullPointerException
NumberFormatException
AssertionError
ExceptionInInitializerError
StackOverflowError
NoClassDefFoundError
Checked Exception List
Exception
IOException
FileNotFoundException
ParseException
ClassNotFoundException
CloneNotSupportedException
InstantiationException
InterruptedException
NoSuchMethodException
NoSuchFieldException
Unchecked Exception List
ArrayIndexOutOfBoundsException
ClassCastException
IllegalArgumentException
IllegalStateException
NullPointerException
NumberFormatException
AssertionError
ExceptionInInitializerError
StackOverflowError
NoClassDefFoundError
Checked Exception List
Exception
IOException
FileNotFoundException
ParseException
ClassNotFoundException
CloneNotSupportedException
InstantiationException
InterruptedException
NoSuchMethodException
NoSuchFieldException
Assume the below are java.lang unless I specify otherwise:
- Casting: ClassCastException
- Arrays: ArrayIndexOutOfBoundsException, NullPointerException
- Collections: NullPointerException, ClassCastException (if you're not using autoboxing and you screw it up)
- IO: java.io.IOException, java.io.FileNotFoundException, java.io.EOFException
- Serialization: java.io.ObjectStreamException (AND ITS SUBCLASSES, which I'm too lazy to enumerate)
- Threads: InterruptedException, SecurityException, IllegalThreadStateException
- Potentially common to all situations: NullPointerException, IllegalArgumentException
You would do well to look at Java site's Package Summary pages. Here's one: https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/io/package-summary.html