Всегда отлавливайте конкретные исключения, а не общий суперкласс Exception.
Если я посмотрю на этот код, я не уверен, что может пойти не так. Если вы специально перехватываете исключения, вам будет гораздо легче увидеть, какие сбои вы ожидаете и на что рассчитываете.
Также обрабатывайте каждый сбой особым образом, который имеет смысл для этого сбоя. Самая простая форма этого - вернуть результат, описывающий ошибку.
Может быть, что-то вроде:
try{
//DeserializationResult deserialization = xmlSerializationService.deserializeFromXml(node);
//some code here
}catch(NullPointerException npe){
//Maybe return something like: new DeserializationResult("xmlSerializationService not initialized")
}catch(DeserializationException dse){
//Maybe return something like: new DeserializationResult("Could not deserialize because ...")
}