Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.08.2016, 12:42   #1
GirAn
Новичок
Джуниор
 
Регистрация: 29.08.2016
Сообщений: 1
По умолчанию Исключения конструкция throws - непонятки по теории

По теории: Если метод может породить исключение, которое он сам не обрабатывает, он должен задать это поведение так, чтобы вызывающий его код мог позаботиться об этом исключении. Для этого к объявлению метода добавляется конструкция throws, которая перечисляет типы исключений (кроме исключений Error и RuntimeException и их подклассов).

Как понимаю исключение NullPointerException надо указать в конструкции throws иначе компиляция программы не выполниться так оно не является потомком Error и RuntimeException, а исключение IllegalAccessException (подкласс типа RuntimeException) - не надо указывать в throws .
Но у меня два примера с тем и другим типом исключений, где я не использую конструкцию throws, показывают ситуацию наоборот!!! Вот примеры:

NullPointerException (компилируется)
Код:
class ThrowsDemo {
  static void throwOne() {
    System.out.println("Inside throwOne.");
    throw new NullPointerException("demo");
  }
  public static void main(String args[]) {
    throwOne();
  }
}
IllegalAccessException (не компилируется)
Код:
class ThrowsDemo {
  static void throwOne() {
    System.out.println("Inside throwOne.");
    throw new IllegalAccessException("demo");
  }
  public static void main(String args[]) {
    throwOne();
  }
}
GirAn вне форума Ответить с цитированием
Старый 31.08.2016, 19:30   #2
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

NullPointerException - подкласс RuntimeException
IllegalAccessException - подкласс Exception
Carbon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Основные управляющие конструкции языка Delphi. Конструкция присваивания. Условная конструкция. Конструкция множественного выбора. nadyaH Помощь студентам 3 23.11.2013 22:19
конструкция if else Emperator12 Общие вопросы Delphi 7 26.09.2012 08:19
конструкция if else Emperator12 Общие вопросы Delphi 2 23.09.2012 11:36
Конструкция if GBAXA Общие вопросы Delphi 5 04.08.2010 15:12
Конструкция try..except anGeee Общие вопросы Delphi 2 21.05.2009 11:34