Article image
Mateus Cintra
Mateus Cintra21/02/2024 15:01
Compartilhe

Usando a função try-catch em C#

  • #C#

Em qualquer linguagem de programação, lidar e tratar as exceções de forma eficiente é essencial e faz parte das boas práticas de programação para garantir a estabilidade e a confiabilidade das aplicações. A linguagem C# não fica fora dessa e possui maneiras de tratar essas exceções. Uma das ferramentas mais importantes para isso é a estrutura try-catch.

Neste artigo vamos nos aprofundar no funcionamento e os diversos usos da função try-catch.

Funcionamento da função try-catch

A estrutura do try-catch é utilizada para tratar exceções durante a execução do código. O código onde uma exceção pode ocorrer deverá ser colocado em um bloco try. Se uma exceção ocorrer durante a execução desse bloco de código, ela pode ser tratada no bloco catch, evitando que o programa termine de forma inesperada.

Sintaxe:

A sintaxe básica da função try-catch é a seguinte:

try
{
  var result = Process(-3, 4);
  Console.WriteLine($"Processing succeeded: {result}");
}
catch (ArgumentException e)
{
  Console.WriteLine($"Processing failed: {e.Message}");
}

Você pode fornecer várias cláusulas catch:

try
{
  var result = await ProcessAsync(-3, 4, cancellationToken);
  Console.WriteLine($"Processing succeeded: {result}");
}
catch (ArgumentException e)
{
  Console.WriteLine($"Processing failed: {e.Message}");
}
catch (OperationCanceledException)
{
  Console.WriteLine("Processing is cancelled.");
}

Se houver alguma exceção, os blocos catch serão examinados em ordem, de cima para baixo. E no máximo um bloco catch é executado para cada exceção. Se você não quiser tratar uma exceção específica, você pode omitir a declaração de uma variável de exceção e especificar apenas o tipo de exceção, como usamos no exemplo acima (ArgumentException e). Uma bloco catch sem qualquer variável de exceção especificado corresponde a qualquer exceção e quando for utilizado, deve ser o último bloco catch, senão qualquer exceção presente irá cair diretamente nele, não passando pelas outras específicas.

Sintaxe fornecida pela documentação oficial da Microsoft e pode ser encontrada clicando aqui.

Exemplos práticos da aplicação da função try-catch:

1 - Tratando uma exceção específica

try
{
  int divisor = 0;
  int resultado = 10 / divisor; // Divisão por zero, lançará uma exceção
}
catch (DivideByZeroException ex)
{
  Console.WriteLine("Erro: Tentativa de divisão por zero.");
}

2 - Tratando uma exceção genérica

try
{
  // Código
}
catch (Exception ex)
{
  Console.WriteLine($"Erro: {ex.Message}");
}

O uso do bloco finally

Dentro da função try-catch temos também o bloco finally, utilizamos este bloco para especificar um bloco de código que é executado independentemente de ocorrer uma exceção dentro do bloco try ou não.

Sintaxe:

try
{
  // Código
}
catch (ExcecaoTipo1 ex)
{
  // Tratamento para exceções do tipo ExcecaoTipo1
}
finally
{
  // Bloco opcional que é executado independentemente de exceções ocorrerem ou não
}

Diagrama do funcionamento da função try-catch

image

Conclusão

Em resumo, a função try-catch é uma ferramenta essencial para lidarmos com as exceções de forma eficiente durante a execução do código. Ao utilizar essa estrutura, os desenvolvedores podem prever e tratar exceções que possam ocorrer, garantindo que suas aplicações funcionem de forma correta, colaborando para o desenvolvimento de software de qualidade.

Verifique a documentação completa da Microsoft clicando aqui.

Compartilhe
Comentários (0)