Avatar ·

Por que try-catch acelera a execução do meu código em C#?

Olá a todos. Sou um desenvolvedor C# iniciante e me deparei com um comportamento muito estranho. Tenho um método que processa um array de números. Decidi verificar a performance usando Stopwatch e descobri que a versão com try-catch é mais rápida do que a sem ele! Aqui está o código simplificado: ```csharp // Versão lenta (sem try-catch) public static void ProcessWithoutTryCatch(int[] data) { for (int i = 0; i < data.Length; i++) { if (data[i] > 0 && data[i] < 100) { // Alguma lógica simples int result = data[i] * 2; } } } // Versão rápida (com try-catch) public static void ProcessWithTryCatch(int[] data) { for (int i = 0; i < data.Length; i++) { try { if (data[i] > 0 && data[i] < 100) { int result = data[i] * 2; } } catch (Exception ex) { // Não fazemos nada } } } ``` Eu executo