Tratar Exception com vRaptor

5 respostas
kartler

Boa noite galera,
Existe uma maneira de tratar as exceptions no vRaptor e evitar o erro 500 ?,
pois ja tentei de todas as formas e não consigo capturar o erro para tratar.
sempre ele retorna erro 500

br.com.caelum.vraptor.InterceptionException: java.lang.IllegalArgumentException

Obrigado.

5 Respostas

G

Exception handling: http://vraptor.caelum.com.br/documentacao/exception-handling/

kartler

Olá veja só como eu fiz.

mesmo assim ele não trata o erro continua jogando erro 500.

meu metodo recebe 2 inteiros e estou simulando um erro passando uma string o que é super normal pois o usuario pode querer passar qualquer coisa na URL, mas ta dificil esse tratamento.

G

Ao invés de apenas analisar a exception, você leu a mensagem dela? IllegalArgumentException pode ser muitas coisas, talvez até antes do exception handler atuar.

Você está passando argumentos inválidos? A injeção acontece antes de entrar no método, sendo assim o exception handler não terá feito, pois acontece tudo antes dele agir.

Vocẽ precisa usar o objeto Validation para dizer para onde você quer ir em caso de erro. Isso está na documentação. Estou sem conseguir fazer a pesquisa agora.

kartler

Então para validar o valor injetado só usando Interceptors ?
o que está acontecendo é isso mesmo, propositalmente estou passando argumentos inválidos, testando um possivel erro vindo do usuário.

Lucas_Cavalcanti

se o tratamento é genérico (em qqer request), o melhor jeito talvez seja um interceptor com um try…catch na exception mesmo

Criado 25 de abril de 2011
Ultima resposta 25 de abr. de 2011
Respostas 5
Participantes 3