Tratando erros no SqlDataSource


Hoje um colega me enviou um e-mail dizendo que está com dificuldade em tratar erros quando faz uma operação de CRUD através do controle SqlDataSource do ASP.NET 2.0. A forma que vejo de tratar isso (quando não tem um tratamento global de erros) é através dos eventos Selected, Updated, Inserted e Deleted do controle SqlDataSource.

Esses eventos foram criados de acordo com o delegate SqlDataSourceStatusEventHandler e, conseqüentemente, voce receberá como argumento uma instancia do tipo SqlDataSourceStatusEventArgs. Essa classe possui algumas propriedades e, entre elas, as propriedades Exception e ExceptionHandled.

A primeira delas, retorna uma exceção caso ela tenha acontecido; já a segunda, recebe um valor booleano indicando se a exceção foi ou não tratada pela aplicação. Sendo assim, se quiser verificar se um determinado comando causou uma exceção, voce pode fazer isso através do evento correspondente ao comando (como é o caso do evento Selected), e tratar da seguinte forma:

if(e.Exception != null){
     this.lblMessage.Text = “Ocorreu uma falha na DB”;
     e.ExceptionHandled = true;
}

Anúncios

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s