Различное поведение для 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();
    }
}

0 ответов

Другие вопросы по тегам