Vamos começar com um bloco try-catch.
Em C#, você pode usar o espaço de nome integrado System.Diagnostics ou bibliotecas de terceiros como NLog ou log4net.
System.Diagnostics
Imagine que você tem um código que imprime uma saudação várias vezes.
Vamos refatorar um simples método C# que calcula e imprime a soma de um array de números.