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 PaoniRespondendo 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!