C# maneja errores con excepciones capturadas mediante try/catch/finally. El manejo adecuado de excepciones significa capturar tipos de excepciones específicos, limpiar recursos (a menudo con using), crear excepciones personalizadas significativas y no silenciar errores.
