Menu
Coddy logo textTech

Manejar errores de conversión

Parte de la sección Fundamentos del Journey de Dart de Coddy — lección 86 de 94.

El método tryParse convierte de manera segura cadenas a números, devolviendo null en lugar de lanzar un error cuando la conversión falla.

Usa tryParse en lugar de parse para una conversión más segura:

String validNumber = "42";
int? result = int.tryParse(validNumber);
print(result);

Después de ejecutar el código anterior, la salida será:

42

Cuando la conversión falla, tryParse devuelve null:

String invalidNumber = "hello";
int? result = int.tryParse(invalidNumber);
print(result);

Después de ejecutar el código anterior, la salida será:

null
challenge icon

Desafío

Principiante

En este desafío, practicarás el uso de tryParse para convertir cadenas a números de manera segura. El método tryParse devuelve null si la conversión falla, en lugar de lanzar un error como lo hace parse.

Completa el código para convertir la cadena userInput a un entero usando int.tryParse(). Si la conversión es exitosa, almacena el resultado en userAge. Si la conversión falla (devuelve null), usa la edad predeterminada de 0.

Salida esperada para la entrada actual:

Invalid age input. Using default age: 0

Hoja de referencia

El método tryParse convierte de manera segura las cadenas a números, devolviendo null en lugar de lanzar un error cuando la conversión falla.

Usa tryParse para la conversión segura de cadena a número:

String validNumber = "42";
int? result = int.tryParse(validNumber);
print(result); // Output: 42

Cuando la conversión falla, tryParse devuelve null:

String invalidNumber = "hello";
int? result = int.tryParse(invalidNumber);
print(result); // Output: null

Pruébalo tú mismo

void main() {
  // Esta cadena ya está definida para ti
  String userInput = 'twenty five';
  
  // TODO: Intenta convertir userInput a un entero usando int.tryParse()
  // Si es exitoso, almacena el resultado en userAge
  // Si la conversión falla (devuelve null), usa la edad predeterminada de 0
  int userAge = 0;
  
  // Muestra el resultado
  if (userInput == 'twenty five') {
    print('Invalid age input. Using default age: $userAge');
  } else {
    print('Valid age input: $userAge');
  }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos