C# trata erros com exceções capturadas via try/catch/finally. O tratamento adequado de exceções significa capturar tipos específicos de exceção, limpar recursos (geralmente com using), criar exceções personalizadas significativas e não suprimir erros silenciosamente.
