Я разрабатываю веб-приложение Java среднего размера со Struts в качестве структуры MVC и простой JDBC на уровне доступа к данным. Я искал лучшие практики обработки исключений в таком приложении. Я нашел несколько статей, некоторые из которых противоречат друг другу, только меня более смущали, а не делали все ясными и простыми. Некоторые говорят, что лучше использовать существующие исключения вместо определения особых случаев для приложений, а другие представляют собой огромную иерархию исключений приложения для каждой незначительной проблемы, которая может возникнуть в системе. Некоторые говорят, что лучше не обрабатывать исключения на уровне доступа к данным и делегировать их на уровень обслуживания, другие говорят, что исключения уровня доступа к данным должны быть локализованы локально, поскольку делегирование их на Service Layer нарушит абстракцию между этими двумя уровнями. И так далее.
Я был бы очень признателен, если бы вы сообщили мне о ссылках/именах к статьям/книгам, в которых представлены твердые решения, которые сработали для вас в таком сценарии. Решение должно прояснить по крайней мере следующие моменты с обоснованиями:
- Где будут обнаружены SQLExceptions?
- Где должны регистрироваться исключения?
- Должны ли регистрироваться исключения, отмеченные флажком?
- Следует ли исключить исключения из исключения на уровне презентации, и должны ли они отображаться пользователю?
- Как обрабатываются проверенные исключения, какие из них должны отображаться пользователю и как?
- Как использовать глобальную страницу обработчика исключений?
- Как следует использовать в этом контексте ActionErrors?
Спасибо