Desenvolvimento - ASP. NET

Curso ASP.NET 3.5 em VB.NET e C# - Criando uma página de erros personalizada

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.

por Fernando Amaral



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:

Fernando Amaral

Fernando Amaral - Certificado PMP pelo PMI, CDIA+ pela CompTia, MCP, MCAD, MCSD, MCDBA, MCT pela Microsoft. Pós Graduado em Gestão de Sistemas de Informação (UNIDERP) e Melhoria em Processos de Software (UFLA). Atualmente reside em Campo Grande, MS, onde presta consultoria, treinamentos e palestras na área de TI.
Blog:
http://www.fernandoamaral.com.br.