Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Exceptions Java / 2 сообщений из 2, страница 1 из 1
17.04.2014, 19:43
    #38618012
_Sven_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exceptions Java
Объясните пожалуйста почему здесь не возникает ошибка компиляции

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
class ThrowDemo {
  static void demoproc() {

      throw new NullPointerException("demo");

  }

  public static void main(String args[]) {
    try {
      demoproc();
    } catch(NullPointerException e) {
      System.out.println("Recaught: " + e);
    }
  }
}



А здесь ошибка компиляции, хотя одинаковый случай только название исключения другое:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
class ThrowsDemo {
  static void throwOne()  {

    throw new IllegalAccessException("demo");
  }
  public static void main(String args[]) {
    try {
      throwOne();
    } catch (IllegalAccessException e) {
      System.out.println("Caught " + e);
    }
  }
}
...
Рейтинг: 0 / 0
17.04.2014, 20:46
    #38618062
Антрополог
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exceptions Java
NPE от Runtime отнаследован (т.н. unchecked exception), Illegal тупо от exception (checked exception).

если checked, то нужно throws + если метод не выкидывает checked, то и нефиг catch делать

Модератор: Тема перенесена из форума "Работа".
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Exceptions Java / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]