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");
}