Desenvolvimento - C#

Tratamento de excessões em aplicações N-Tier

Saiba de maneira simples como tratar exceções em aplicações N-Tier.

por Rodolfo Paoni



Respondendo a uma dúvida no MSDN hoje pela manhã, tive a idéia de publicar este artigo. Achei bem interessante.

Uma maneira legal, quando trabalhamos com excessões bem genéricas é utilizar a seguite notação:

try
{
//código
}
catch
{
throw;
}

Neste código, capturamos qualquer tipo de excessão e lançamos para a camada que estiver mais acima ou a classe que estiver utilizando este método. Nós delegamos o tratamento desta excessão a quem efetivamente utilizar o método, não importanto qual o tipo de excessão foi lançado. Como toda classe herda de Exception e este catch captura qualquer excessão, lançaremos qualquer tipo erro.

Como utilizar?

try
{
Metodo();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}

Se quiséssemos capturar excessões específicas:

try
{
Metodo();
}
catch(SqlException ex)
{
MessageBox.Show("Erro de SQL: {0}", ex.Message);
}
catch(Exception ex)
{
MessageBox.Show("Erro genérico: {0}", ex.Message);
}

Como exibir as mensagens com um alert gerado pelo servidor?

try
{
Metodo();
}
catch(Exception ex)
{

ClientScript.RegisterStartupScript(typeof(string), string.Empty,
string.Format("window.alert(\"{0}\");", ex.Message), true);
}

Esta forma de exibir mensagens pode ser encapsulada em uma função, como expliquei em um artigo anterior

Até a próxima!

Rodolfo Paoni

Rodolfo Paoni - Rodolfo Paoni - Desenvolvedor .NET - Twitter: @rodolfopaoni