Есть следующая иерархия наследования: java.lang.Object | +--java.lang.Throwable | +--java.lang.Exception | +--java.lang.RuntimeException | +--java.lang.IndexOutOfBoundsException | +--java.lang.StringIndexOutOfBoundsException | +--java.lang.ArrayIndexOutOfBoundsException
В методе testSomеValue могут быть возбуждены исключения StringIndexOutOfBoundsException и ArrayIndexOutOfBoundsException, при этом они не обрабатываются в блокеtry – catch. Какое из перечисленных ниже утверждений будет верным?
(Ответ считается верным, если отмечены все правильные варианты ответов.)
Варианты ответа
так как в определении метода указано throws StringIndexOutOfBoundsException,ArrayIndexOutOfBoundsException, любой вызывающий его метод может перехватывать эти типы исключений, вне зависимости от того, возбуждается во время работы исключение или нет (Верный ответ)
при объявлении метода testSomeValue можно указывать возбуждаемые исключения(Верный ответ)
определение метода testSomеValue должно включатьthrows StringIndexOutOfBoundsException, ArrayIndexOutOfBoundsException
если метод, вызывающий testSomeValue, перехватывает StringIndexOutOfBoundsException, то исключение ArrayIndexOutOfBoundsException тоже будет перехватываться (Верный ответ)