
Всем привет!
В процессе сдаче теста "Java средний уровень", столкнулся с таким вопросом:
При выполнении следующего кода будет сгенерировано исключение:
public static void main(String[] args) {
int[] a = new int[10];
a[20] = 10;
a[5]=a[2]/0;
}
Варианты ответа:
- ArithmeticException
- ArrayIndexOutofBoundsException и ArithmeticException
- ArrayIndexOutofBoundsException
- IndexOutofBoundsException
Выбрал вариант номер 3: тест говорит, что ответ неверен. Забил данный код в среду разработки, скомпилировал, выдается мне исключение именно номер 3. А тест говорит, что ответил неправильно.
Если это ошибка в тесте, кому писать, чтобы исправили?
Когда этот вопрос попался второй раз, попробовал на всякий случай вариант номер два, может быть автор теста имеет ввиду, какие в принципе здесь могут быть исключения, т.к. тут есть еще деление на ноль. Но опять же, написал, что ответ неверен. Как так то?)))
Так же меня смущает ответ на следующий вопрос:
Выберите верное утверждение:
1)RuntimeException - cheked, Exception - cheked
2)RuntimeException - uncheked, Exception - cheked
3)RuntimeException - cheked, Exception - uncheked
4)RuntimeException - uncheked, Exception - uncheked
Варианты 2 и 4 - тест говорит неверны. Получается, методом исключение, что верен вариант, 1 или 3, но ведь runtimeException - непроверяемые? Как может быть верен ответ 1 или 3. Или я не прав?




