Fernando Amaral
Criando uma página de erros personalizada em ASP.NET

 

Criando uma página de erros personalizada em ASP.NET

Erros acontecem e sempre vão acontecer mesmo nas mais grandiosas aplicações. Se não podemos nos livrar totalmente deles, pelo menos temos que tentar encarar uma situação desagradável com esta com a maior classe possível.

O ASP.NET nos prove alguns recursos para tratamento de erro, no sentido de exibirmos mensagens padronizadas e mais amigáveis para o usuário.

Para exemplificar, primeiramente crie uma aplicação ASP.NET, e na página default digite o seguinte código:

Dim con As New SqlConnection con.Open()

SQLConnection con = New SQLConnection; con.Open;

Como não informamos os parâmetros necessários para a abertura da conexão, obviamente que nos será exibido um erro:

Além da mensagem não estar nada amigável, é importante ressaltar que determinadas mensagem, se exibidas para o usuário final, pode expor aspectos delicados de nossa aplicação, podendo inclusive coloca-la em risco.

Para criar uma página de erro personalizada, primeiramente devemos criar uma página com este fim especifico. No exemplo, eu crie uma página chamada Erro.aspx e coloquei uma mensagem para o usuário:

Em seguida, adicionamos um nó no web.config, como no exemplo abaixo:

<customErrors defaultRedirect="Erro.aspx" mode="RemoteOnly"> <error statusCode="500"

redirect="Erro.aspx"/> </customErrors>

Vamos entender o que cada elemento significa. Primeiramente o atributo defaulredirect indica qual a página padrão será utilizada caso o código do erro não seja especificado. Note que mais abaixo um nó erro nos diz que para o código 500, utilizamos a mesma página, mas podemos personalizar o redirecionamento para uma página especifica, conforme o tipo de erro.

O atributo mode é importantíssimo. Ele pode ter três valores: RemoteOnly, que o valor padrão, indica que a página de erro personalizada só será exibida para usuários remotos. Isto permite que você, que esta depurando a aplicação localmente, continue vendo as mensagens de erros detalhas. On significa que todos, remotamente ou localmente verão a página de erro personalizada, e Off, significa que ninguém vai ver a página personalizada, ou seja, será exibido o erro detalhado para todo mundo.

Para ver a página de erro funcionando em sua máquina, altere o atributo mode para On, e rode a aplicação:

Tarefa

Crie uma aplicação com uma pá

Últimos artigos relacionados:
Refatoração (Refactoring) em Visual Studio 2008
Medindo a Performance de seu Código com Visual Studio Team System 2008
Code Snippets no Visual Studio 2008
Análise de Código com Visual Studio Team System 2008
.NET independente de plataforma? Uma introdução ao Mono