Мой вопрос прост. Должны ли мы или не должны обрабатывать / перехватывать исключения в слинг-моделях / WCMUsePojos?
Подробности:
У нас есть несколько SlingModels, которые вызывают OSGiметоды обслуживания, когда выдается какое-либо исключение, мы ловим его прямо в SlingModel, а затем выполняем в методе модели @PostConstruct
slingHttpResponse.sendError(500);
Это не похоже на работу для нас, статус ответа500 (проверено на вкладке сети браузера), но страница загружается в любом случае вместо загрузки нашей страницы 500.jsp или «Внутренней страницы ошибки сервера», которая является настроенной. исключение для обработчика по умолчанию. Это успешно загружает страницу 500.jsp.
Пример.
@PostConstruct // THIS WORKS
public void init() throws Exception{
try{
// Business Logic calling Injected OSGi Service Methods
}
catch(Exception e){
// Log exception and rethrow
LOG.error("Exception in Model",e);
throw e;
}
}
Является ли вышеуказанная реализация идеальной? Это работает в отличие от приведенного ниже кода, который НЕ работает для нас
@PostConstruct // THIS DOES NOT WORK PROPERLY
public void init() throws Exception{
try{
// Business Logic calling Injected OSGi Service Methods
}
catch(Exception e){
// Log exception and SEND ERROR
LOG.error("Exception in Model",e);
slingHttpResponse.sendError(500);
}
}