| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Архитекура обработки исключений |
| Автор: vdweller 21.4.2008, 10:23 |
| Вопрос следующий - как архитектурно более правильно обрабатывать исключения? Все серьезные исключения я хочу обрабатывать в одном месте, как более правильно сделать - вызывать сразу же в случае пойманного исключения определенный обработчик, либо пробрасывать исключения через цепочку throws до основного класса где уже стоит catch который все обрабатывает? |
| Автор: AntonSaburov 21.4.2008, 12:46 |
| Это не имеет однозначного решения - я исхожу из принципа "чем ниже можно обработать, тем лучше". Но иногда это можно сделать чуть ли не в самом низу, а иногда только самый верхний выхов может реально решить, что с этим делать. |
| Автор: olegrolik 21.4.2008, 17:39 | ||||||
| А я делаю вот так (возможно это криво, но я считаю, что вариант неплохой). Есть, например класс MainEngine:
реализация методов method1, method2, method3.
Класс-исключение.
Для 2 и 3 случая тож самое (ну или уже зависит от вас). Может украл у кого эту идею, но на программный код авторское право не распространяется... |
| Автор: Asal 22.4.2008, 10:33 |
на мой взгяд еще нужно смотреть что за ошибка. если ошибка не несет логического смысла для "вышележащих" функций то и не стоит ее передавать вверх по цепочке, обработал и все. или если ошибка внутренней работы функции (зачем лишний раз беспокоить вышестоящее рукаводство Вообщем нужно исходить из логического смысла ошибки Но это мое мнение, коль не прав поправьте P.S. если интересно, есть классный http://www.infoq.com/presentations/effective-api-design Joshua Bloch из Google |