Sobes.tech
Junior — Middle

Qual é a diferença de comportamento entre os métodos TryParse e Parse quando a conversão de uma string para um número falha?

sobes.tech IA

Resposta da IA

O método Parse lança uma exceção FormatException ou OverflowException se a conversão de uma string para número falhar, seja porque a string não corresponde ao formato numérico ou porque excede os limites do tipo.

O método TryParse, em vez de lançar uma exceção, devolve um valor booleano false se a conversão não for bem-sucedida e coloca o resultado num parâmetro de saída. Isto permite evitar o tratamento de exceções e escrever um código mais eficiente e seguro.

Exemplo:

string input = "abc";
int number;

// Parse lançará uma exceção
// int result = int.Parse(input); // FormatException

// TryParse retornará false sem lançar exceções
bool success = int.TryParse(input, out number);
if (success)
{
    Console.WriteLine($"Número convertido: {number}");
}
else
{
    Console.WriteLine("A conversão falhou");
}