Изменения

Перейти к: навигация, поиск

Обработка ошибок и исключения

5 байт убрано, 20:57, 15 декабря 2014
Исключения в Java7
В примере <code>try</code>-блок может бросить либо <code>FirstException</code>, либо <code>SecondException</code>. В версиях до Java SE 7 невозможно указать эти исключения в декларации метода, потому что <code>catch</code>-блок перебрасывает исключение <code>ex</code>, тип которого - <code>Exception</code>.
В Java SE 7 вы можете указать, что метод <code>rethrowException</code> бросает только <code>FirstException</code> и <code>SecondException</code>. Компилятор определит, что исключение <code>Exception ex</code> могло возникнуть только в <code>try</code>-блоке, в котором может быть брошено <code>FirstException</code> или <code>SecondException</code>. Даже если тип параметра <code>catch</code> - <code>Exception</code>, компилятор определит , что это экземпляр либо <code>FirstException</code>, либо <code>SecondException</code>:
<font color=navy>'''public void'''</font> rethrowException(String exceptionName) <font color=navy>'''throws'''</font> FirstException, SecondException {
<font color=navy>'''try'''</font> {
<font color=gray>// ...</font>
} <font color=navy>'''catch'''</font> (Exception e) {
<font color=navy>'''throw'''</font> e;
}
Анонимный участник

Навигация