I have the following straightforward code in my Seam component:
try {
widget = queryService.findByNumber(number);
if (widget.isOutOfStock()) {
facesMessages.add("out of stock.");
}
else {
addWidgetToOrder(widget);
}
}
catch (NoSuchWidgetException e) {
facesMessages.add("There is no widget with that number.");
}
The queryService component does a basic lookup, and NoSuchWidgetException wraps the JPA NoResultException thrown inside queryService.findByNumber if the lookup fails.
The problem is that my <h:messages> component gets filled with the right message (There is no widget with that number.
)...but then followed by a new line and the message Transaction failed.
Why do I get this message when I wrap the JPA exception in one of my own? I don't want to change the text in messages.properties, so how can I get rid of this Transaction failed
message in this instance?
Thanks.