Normalmente, depois que um aplicativo da Web é lançado, a fim de fornecer aos usuários uma interface amigável e uma experiência de usuário, ele irá para uma página de erro personalizada quando ocorrer um erro, em vez da lista detalhada de exceções exposta ao usuário pelo ASP.NET.
Uma página simples de tratamento de erros pode ser definida via web.config
Se quiser apresentar a causa do erro de forma programática, você pode fazer isso através do evento Page_Error.
Outra forma pode ser alcançada através do Global.asax, acho que é mais conveniente. Além disso, se puder ser combinado com uma página separada mais amigável, parecerá mais confortável.
Global.asax (registro de erros, se necessário) void Application_Error (remetente do objeto, EventArgs e)
{
Exceção objErr = Server.GetLastError().GetBaseException();
string error = "Página de exceção: " + Request.Url.ToString() + "
";
erro += "Mensagem de exceção: " + objErr.Message + "
";
Servidor.ClearError();
Aplicativo["erro"] = erro;
Response.Redirect("~/ErrorPage/ErrorPage.aspx");
}
ErrorPage.aspx
protegido void Page_Load (objeto remetente, EventArgs e)
{
ErrorMessageLabel.Text = Application["erro"].ToString();
}Quando os usuários finais usam o aplicativo, eles podem não querer saber a causa do erro. Neste momento, podemos usar as caixas de seleção para determinar se devemos exibir a causa do erro. Você pode colocar o Label em uma div e então usar a caixa de seleção para decidir se deseja renderizar a div
http://www.cnblogs.com/EasyLive2006/archive/2007/01/07/613922.html