![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| vdweller |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 1.2.2008 Репутация: нет Всего: нет |
Вопрос следующий - как архитектурно более правильно обрабатывать исключения?
Все серьезные исключения я хочу обрабатывать в одном месте, как более правильно сделать - вызывать сразу же в случае пойманного исключения определенный обработчик, либо пробрасывать исключения через цепочку throws до основного класса где уже стоит catch который все обрабатывает? |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Это не имеет однозначного решения - я исхожу из принципа "чем ниже можно обработать, тем лучше". Но иногда это можно сделать чуть ли не в самом низу, а иногда только самый верхний выхов может реально решить, что с этим делать.
|
|||
|
||||
| olegrolik |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 25.1.2006 Репутация: нет Всего: нет |
А я делаю вот так (возможно это криво, но я считаю, что вариант неплохой).
Есть, например класс MainEngine:
реализация методов method1, method2, method3.
Класс-исключение.
Для 2 и 3 случая тож самое (ну или уже зависит от вас). Может украл у кого эту идею, но на программный код авторское право не распространяется... Это сообщение отредактировал(а) olegrolik - 21.4.2008, 17:42 |
||||||
|
|||||||
| Asal |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 288 Регистрация: 26.12.2006 Где: Минск Репутация: нет Всего: 7 |
на мой взгяд еще нужно смотреть что за ошибка. если ошибка не несет логического смысла для "вышележащих" функций то и не стоит ее передавать вверх по цепочке, обработал и все. или если ошибка внутренней работы функции (зачем лишний раз беспокоить вышестоящее рукаводство Вообщем нужно исходить из логического смысла ошибки Но это мое мнение, коль не прав поправьте P.S. если интересно, есть классный доклад Joshua Bloch из Google Это сообщение отредактировал(а) Asal - 22.4.2008, 10:39 |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Именно это я и имею в виду. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |