|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.05.2013, 18:28 | #1 |
Форумчанин
Регистрация: 02.12.2010
Сообщений: 160
|
Кто должен выбрасывать Excaption?
Здравствуйте. Что считается делать правильным? Позволять JVM выбрасывать исключения или выбрасывать самому исключения, если это возможно?
Например есть метод который достает элемент из массива по индексу. Код:
Код:
Так как лучше? |
09.05.2013, 19:59 | #2 |
Пользователь
Регистрация: 15.01.2010
Сообщений: 28
|
Выбрасывать тот же самый exception, что и JVM в данной ситуации, смысла нет.
Можно создать свой exception соответсвующий контексту метода. Что то вроде NoSuchElementException.
Программирование JavaEE/JavaSE
Платформы: Windows, Linux. ICQ: 415253529; Skype: codekick; |
12.05.2013, 15:20 | #3 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
Зависит от реализации.
В частном конкретном случае не нужно. Свое исключение нужно, если может нарушиться целостность данных, но этого не произойдет, потому что оно само появится при выходе за пределы массива. Есть правда еще один вариант: ваш класс - часть какой-то системы со своим подмножеством исключений и тогда под этот случай есть смысл создать свое исключение, унаследованное от вашего базового исключения, которое очевидно должно быть в данном случае. Это еще нужно и потому что если вы вдруг замените контейнер, то изменится и множество выбрасываемых исключений (например, ArrayIndexOutOfBounds для массива и IndexOutOfBounds для списка). Т.е. протокол (частью которого является множество исключений) у вас будет меняться в зависимости от конкретной реализации, что нарушает один из принципов SOLID. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Каким должен быть код? | pufystyj | Свободное общение | 5 | 15.08.2012 01:29 |
Синоптик должен измерить | 6y6JIuK | Помощь студентам | 3 | 04.02.2010 20:08 |
Как должен выглядеть код? | spimeading | Помощь студентам | 1 | 16.12.2009 02:40 |
Что должен знать программист? | Maximxak | Свободное общение | 37 | 26.05.2009 22:41 |