Empecemos con un bloque try-catch.
En C#, puedes usar el espacio de nombres incorporado System.Diagnostics o bibliotecas de terceros como NLog o log4net.
System.Diagnostics
Imagina que tienes un código que imprime un saludo varias veces.
Vamos a refactorizar un método simple de C# que calcula e imprime la suma de un arreglo de números.