90
ClassNotFoundException
Exception
OutOfMemoryError
Error
CloneNotSupportedException
Exception
SecurityException
RuntimeException
ConcurrentModificationException
RuntimeException
StackOverflowError
Error
EOFException
Exception
StringIndexOutOfBoundsException RuntimeException
FileNotFoundException
Exception
ThreadDeath
Error
IllegalArgumentException
RuntimeException
UnsupportedEncodingException
Exception
InterruptedException
Exception
UnsupportedOperationException
RuntimeException
То, что исключения являются объектами важно по двум причинам:
1)
они образуют иерархию с корнем java.lang.Throwable (java.lang.Object —
предок java.lang.Throwable, но Object —это не исключение!)
2)
они могут иметь поля и методы
По первому пункту: catch —
полиморфная конструкция, т.е.
catch по типу
класса родителя перехватывает исключения для
экземпляров объектов как
родительского класса, так или его наследников(т.е.
экземпляры непосредственно
самого родительского класса или любого его потомка).
Пример:
public class App {
public static void main(String[] args) {