C# 6.0 TIPS–Exception Filters

C#

Esse é um post simples para explorar um ótimo recurso do C# 6.0: Exception Filters. Beleza, todo mundo que programa com C# já teve a necessidade trabalhar com o Exceptions. Meio que não há como fugir disso. Lógico que com tanto uso, alguma necessidades específicas aparecem, e para poder tratar melhor nossas exceção acabamos por utilizar estruturas condicionais, o que muitas vezes torna o código mais inteligível.

Com o Exception Filter, é possível aplicar um filtro direto na exceção. É claro que antes você já podia "tratar" isso dentro do bloco try/catch, porém teria de se executar o catch e em seguida filtrar a condição. Com este novo recurso podemos realizar a condição e aplicar o tratamento específico. Observe o código abaixo:


static void Main(string[] args)
{
    int numero = 12;

    try
    {
  
int resultado = numero % 0;
    Console.WriteLine(resultado);
    }
    catch (DivideByZeroException ex) when (ex.Source.Equals("Nome Errado"))
    {
  
Console.WriteLine("Condição falsa!!!");
    }
    catch (DivideByZeroException ex) when (ex.Message.Equals("Attempted to divide by zero."))
    {
   
Console.WriteLine("Condição verdadeiranMensagem: " + ex.Message);
    }

    Console.ReadKey(true);
}

Agora, um bloco o catch só será executado quando o filtro for verdadeiro.

IMAGE

O código fonte pode ser baixado aqui!!!

Até a próxima e bons estudos pessoal :)


Author's profile picture

Vitor is a computer scientist who is passionate about creating software that will positively change the world we live in.

MVP Azure - Cloud Architect - Data science enthusiast


1 minutes to read