| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Вложенный блок try catch |
| Автор: Golovastik 12.12.2010, 01:24 | ||
Вроде программа компилируется, но не срабатывают исключения, и не выводятся сразу 2 исключения, первый для массива, второй для чисел деленеи на ноль.
|
| Автор: Temdegon 12.12.2010, 02:34 |
| У вас получается все наоборот: для массива вы ловите ArithmeticException, а не ArrayIndexOutOfBoundsException. Следовательно, на строке 6 ваша программа завершится, т.к. исключение ArrayIndexOutOfBoundsException произойдет, а вы его не обрабатываете. Поменяйте местами обработчики. |
| Автор: Golovastik 12.12.2010, 17:05 | ||||
Если написать так:
Происходит вывод такой:
А мне нужно чтоб 2 исключения выдавало, по поводу массива и по поводу деления на ноль. |
| Автор: Temdegon 12.12.2010, 18:40 |
| А чего вы ожидали? В строке 6 возникает исключение, и исполнение переходит в стоку 13. Или вы как-то по-другому представляете себе работу исключений? |
| Автор: Golovastik 12.12.2010, 19:55 | ||
Ещё проблема такая, скажите как сделать тоже самое, только с использованием моих собственных исключений, как правильно написать так чтоб было тоже самое только используя собственные исключения?
|
| Автор: Temdegon 12.12.2010, 22:23 | ||||
| Никак. От того, что вы напишете свои классы исключений, JVM не станет их вам бросать, вместо ArithmeticException и ArrayIndexOutOfBoundsException. Если вы пишете какой-то свой класс, то вы можете бросать свои исключений и обрабатывать их. На пример:
По понятным причинам, заменить ArithmeticException вашим собственным не получится. Единственное, что вы можете сделать, это ловить ArithmeticException и вместо него бросить ваше исключение:
|