Похоже, вы не используете какой-либо фреймворк, потому что это были типичные фреймворки.Например, Spring позволяет вам отделить код от обработки исключений и определить ваши собственные обработчики исключений.
В вашем случае, как правило, у вас есть 2 решения.
(1) Вы можете использовать шаблон Decorator: оберните каждую службу декоратором, где каждый метод реализован как
try {
call real method
} catch() {
send error to client
}
Так как это очень многословно, вы можете сэкономить время, используя динамический прокси (функция, которая была представлена в Java 5).Таким образом, вы можете динамически переносить каждый сервис (если ваши сервисы имеют определенный интерфейс).
(2) Вы можете решить эту проблему, используя страницу ошибки API сервлета:
javax.servlet.ServletException / servlet / ErrorDisplay
для получения дополнительной информации см. http://java.sun.com/developer/technicalArticles/Servlets/servletapi2.3/