Различное поведение для NullPointerException и IllegalAccessException
Я пытаюсь понять пункт бросков в JAVA, я написал следующее
кусок кода:
class check
{
static void demo()
{
System.out.println("Hello\n");
throw new IllegalAccessException("demo");
}
public static void main(String args[])
{
demo();
}
}
Я понимаю, что это не скомпилируется, так как исключение должно быть обработано
в main метод и demo() должны быть определены с указанием бросков
пункт для IllegalAccessException.
Но когда я изменяю исключение на NullPointerException, то же самое
Программа компилирует и выполняет:
class check
{
static void demo()
{
System.out.println("Hello\n");
throw new NullPointerException("Demo");
}
public static void main(String args[])
{
demo();
}
}