10pt; FONT-FAMILY: Verdana; mso-ansi-language: PT-BR">Aprenda a usar exceções, JavaScript, Web Services e muito mais
Como todos sabemos, o AJAX já não é novidade há algum tempo. O ASP.NET AJAX Extensions foi lançado no começo do ano e sem dúvida foi um dos temas mais abordados esse ano. O AJAX é uma das tecnologias que marcaram a chamada Web 2.0, e hoje em dia é quase que obrigatório o uso
Error Handling
Vamos começar com uma dica muito importante que envolve alguns benefícios que temos no tratamento de erros quando utilizamos o AJAX. Abra o seu Visual Studio 2005 e crie uma nova aplicação utilizando o item ASP.NET AJAX Enabled Web Site. No design da Default.aspx veja que temos o ScriptManager. Nessa mesma página adicione um UpdatePanel, e dentro desse um Button. Sua página deverá ficar como mostra a Figura 1.
Figura 1. Interface da página Default.aspx
Em seguida dê um duplo clique no Button para a criação do evento Button1_Click. Nele, inclua o código a seguir:
int x = 0;
int y = 10 / x;
Como sabemos, o código causará uma exceção devido à tentativa de divisão por zero. Se não estivéssemos utilizando o AJAX, ao ocorrer a exceção, o usuário receberia aquela famosa tela de erro do ASP.NET que você pode conferir na Figura 2.
Figura 2. Tela de Mensagem de Erro do ASP.NET
Agora, como estamos utilizando o AJAX, não teremos a ocorrência dessa tela de erro. O AJAX exibirá a mensagem de erro em uma janela de alerta do browser. Faça o teste! Salve, compile e execute a aplicação. Clique no Button e veja na Figura 3 como é exibida a mensagem de erro no AJAX.
Figura 3. Alerta de Erro do AJAX
Só isso já é de grande valia, pois as mensagens de erro como são apresentadas no ASP.NET nunca podem ocorrer para o usuário. As janelas de alerta são uma forma bem mais elegante de exibir mensagens de erro ao usuário.
Porém, isso nem sempre é o suficiente. Muitas vezes é necessário exibir uma mensagem diferente, ou realizar alguma outra ação como gravar um registro de log, ou enviar um e-mail. Para facilitar esse tipo de tarefa, temos um evento no ScriptManager chamado AsyncPostBackError. Clique no ScriptManager1 e acesse a janela de propriedades.
Mude para os eventos do ScriptManager1 e dê um duplo clique no evento AsyncPostBackError, como mostra a Figura 4. Inclua neste evento o código da Listagem 1.
Listagem 1. Evento para tratamento de Exceções no AJAX
protected void ScriptManager1_AsyncPostBackError(
object sender, AsyncPostBackErrorEventArgs e)
{
//Aqui você pode tratar a exceção da maneira que
//quiser, inclusive gravando em log ou enviando
//e-mail. Nesse caso, estamos apenas modificando a
//mensagem e exibindo a Data/Hora do Erro
ScriptManager1.AsyncPostBackErrorMessage =
"Ooops...ocorreu um erro: " +
DateTime.Now.ToString();
}
...