0Pricing
Dart Academy · Lección

throw, try y catch

Detectar y responder a fallos.

throw, try y catch es una lección gratuita de Dart Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Dart Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Dart Academy incluye 4 lecciones en total.

Cuando las cosas salen mal

Los programas encuentran problemas: entradas incorrectas, archivos inexistentes o cálculos erróneos. Dart señala estos problemas mediante una excepción en lugar de fallar silenciosamente. 🚨

Lanzar una excepción

Puede señalar un problema usted mismo con throw. Esto detiene el flujo normal justo donde ocurre y cede el control a un controlador.

throw Exception('Something failed');

Puede lanzar cualquier cosa

Dart permite throw de casi cualquier objeto, incluso un String. En la práctica, lance objetos reales de tipo Exception o Error para que los controladores sean claros.

throw FormatException('Bad number');

Proteger el código arriesgado

Encierre el código que podría fallar dentro de un bloque try. Dart lo ejecuta normalmente, pero está preparado para reaccionar si algo lanza una excepción.

try {
  risky();
}

Capturar el problema

Un bloque catch se ejecuta solo cuando el bloque try lanza una excepción. Recibe el objeto lanzado para que pueda examinarlo y responder a él.

try {
  risky();
} catch (e) {
  print('Caught: $e');
}

El flujo salta directamente

Cuando se ejecuta un throw, el resto del bloque try se omite de inmediato. Dart salta directamente al bloque catch correspondiente.

Leer el objeto de error

La variable de catch (e) contiene lo que se haya lanzado. Imprimirla suele mostrar un mensaje útil que describe lo que falló.

catch (e) {
  print(e);
}

Obtener la traza de la pila

Añada una segunda variable a catch para obtener la traza de la pila. Esta muestra la ruta de llamadas que llevó al fallo y facilita la depuración.

catch (e, stack) {
  print(stack);
}

Recuperarse sin bloquearse

El objetivo de capturar excepciones es la recuperación. En lugar de bloquearse, puede registrar el error, reintentar la operación o mostrar una alternativa adecuada al usuario.

Si no se captura, el programa falla

Si nada captura una excepción lanzada, esta asciende por la pila y el programa falla; el error se imprime en la consola.

Un ejemplo completo

Este es el patrón completo: un throw dentro de try, capturado y gestionado correctamente para que la ejecución continúe después.

try {
  throw Exception('Oops');
} catch (e) {
  print('Handled: $e');
}

Comprobación rápida

¿Qué bloque responde realmente a una excepción lanzada?

Resumen

Ahora puede señalar problemas con throw, proteger el código arriesgado con try y recuperarse en catch. Este trío mantiene el programa en funcionamiento. 🎉

Preguntas frecuentes

¿La lección «throw, try y catch» es gratis?

Sí — el texto completo de «throw, try y catch» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Dart Academy, actualiza a CoddyKit PRO. El curso de Dart Academy incluye 4 lecciones en total.

¿Qué aprenderé en «throw, try y catch»?

Detectar y responder a fallos. Practicas Dart Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Dart Academy?

No se requiere experiencia previa. Dart Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «throw, try y catch»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Dart Academy?

Sí. Cada lección de Dart Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. throw, try y catch
  2. Cláusulas on y tipos de excepción
  3. finally y limpieza garantizada
  4. Excepciones personalizadas y rethrow
← Volver a Dart Academy