quarta-feira, 16 de fevereiro de 2011

Lançar exceções quando quiser


Algumas vezes criamos um programa/site/portal com muita dificuldade e o fazemos funcionar perfeitamente na máquina de desenvolvimento e até mesmo em servidores de teste, mas quando chega no cliente algo acontece, o fantasma de Murph aparece para fazer suas leis entrarem em cena e mensagens de erro do servidor pipocam na tela, como por exemplo o odiado erro 500…
Nessas horas algumas das coisas mais comuns:
“Por hora não é necessário resolver a situação”, ou.
“Quem configura o servidor não está conseguindo acertar os ponteiros do servidor”, ou.
“Após explicar ao usuário que isso não é um erro, ele pediu para alterar a tela “, ou.
Qualquer outra coisa que impeça o reparo deste erro e nos forçam simplesmente a tratá-lo.
Como é um erro 500, muitas vezes ele nem passa por classes, então nossos try-catch podem não surtir efeito.
Pode-se então mapear códigos de erro, como explicado NESTE post, facilitando muito a vida, porém surge uma questão.
Como podemos simular erros, como o erro 500?
A resposta vem de forma fácil, basta criar um JSP com uma simples linha de comando e o erro informado nesta linha irá aparecer na tela.
<%@ page import=”javax.servlet.http.HttpServletResponse” %>
<%
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,”");
%>
Neste exemplo estamos simulando o erro 500, indicado pela String HttpServletResponse.SC_INTERNAL_SERVER_ERROR.
Neste link da wikipédia contém uma listagem com todos códigos de erro HTTP, com a descrição em inglês.
Neste link da Sun, documentação da linguagem J2EE, estão descritas todas as Strings de erro que podem ser utilizadas pelo response.sendError().

Nenhum comentário:

Postar um comentário