[jboss-user] [JBoss Seam] - Re: handling exceptions
markfoerstein
do-not-reply at jboss.com
Thu Apr 12 20:59:19 EDT 2007
Gavin, Im facing the same problem. Im using 1.2.1GA
The only difference is that Im throwing in the stateful bean a specific exception I created...
| @ApplicationException(rollback=true)
| public class GeneralApplicationException extends RuntimeException {
|
| public GeneralApplicationException(String message) {
| super(message);
| }
| }
|
...and digging into the stack to get the messages with a class I also created (ExceptionMessages):
| try {
| entityManager.persist(instance);
| entityManager.flush();
| } catch (RuntimeException e){
| throw new GeneralApplicationException(ExceptionMessages.getMessage(e));
| }
|
Then the message from my GeneralApplicationException is nicely presented in a error page (fragment from pages.xml):
| <exception class="com.sphere.consultoria.exceptions.GeneralApplicationException">
| <end-conversation/>
| <redirect view-id="/error.xhtml">
| <param name="icon" value="error_icon.gif"/>
| </redirect>
| </exception>
|
My goal would be not having to use my GeneralApplicationException at all, and map every exception with their specific messages into pages.xml. Unfortunately, that's not possible, because the best I can get is the javax.persistence.PersistenceException or treat every else with a catch-all tag:
| <exception>
| <end-conversation/>
| <redirect view-id="/error.xhtml">
| <message>Ocorreu um erro inesperado. Se o problema persistir, consulte o administrador do sistema.</message>
| <param name="icon" value="error_icon.gif"/>
| </redirect>
| </exception>
|
| <exception class="javax.persistence.PersistenceException">
| <end-conversation/>
| <redirect view-id="/error.xhtml">
| <message>Ocorreu um erro ao tentar persistir as informações no banco de dados.</message>
| <param name="icon" value="error_icon.gif"/>
| </redirect>
| </exception>
|
It would be nice if I could map ContraintViolationException, for example, with its specific message.
Is it possible? I can't find a solution on this... tried searching the forum but only found similar posts...
Thanks for any help.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4036924#4036924
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4036924
More information about the jboss-user
mailing list