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 AmaralErros 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: