Dart Academy · Lección

Cláusulas on y tipos de excepción

Capturar errores específicos con precisión.

Lección 2 de 413 pasos

Cláusulas on y tipos de excepción es una lección gratuita de Dart Academy en CoddyKit. Esta es la lección 2 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.

No todos los errores son iguales

Un error de archivo y uno de formato son problemas distintos. Dart permite capturarlos por tipo para dar a cada uno la respuesta adecuada. 🎯

La palabra clave on

Use on para capturar un único tipo de excepción. El bloque se ejecuta únicamente cuando se lanza ese tipo específico de error.

try {
  parse();
} on FormatException {
  print('Bad format');
}

Conservar también el objeto

Combine on con catch para filtrar por tipo y obtener también el objeto de error con los detalles de su mensaje.

on FormatException catch (e) {
  print(e.message);
}

El orden importa

Dart comprueba las cláusulas on de arriba abajo y utiliza la primera coincidencia. Coloque los tipos específicos antes que los generales; de lo contrario, los específicos nunca se ejecutarán.

Varias cláusulas on

Puede encadenar varias cláusulas on para un mismo try. Cada una gestiona un tipo de excepción distinto con su propia lógica adaptada.

try {
  work();
} on FormatException {
} on RangeError {
}

Un catch general al final

Un catch sin tipo captura todo lo que quede. Colóquelo al final como red de seguridad, después de las cláusulas tipadas.

} on FormatException {
} catch (e) {
  print('Other: $e');
}

Exception frente a Error

Dart divide los fallos en Exception, para problemas recuperables, y Error, para errores de programación que debe corregir en lugar de capturar.

Tipos integrados habituales

Encontrará FormatException, RangeError, StateError y ArgumentError. Conocerlos permite realizar capturas precisas.

Capturar un supertipo

Una cláusula on Exception coincide con cualquier subtipo de Exception. Use un tipo amplio cuando varios errores relacionados compartan un mismo controlador.

try {
  go();
} on Exception catch (e) {
  log(e);
}

Por qué ayuda filtrar por tipo

Los controladores tipados mantienen el código claro: puede reaccionar de forma distinta ante un archivo inexistente y ante una entrada incorrecta, en lugar de dejar que un único catch general intente adivinar.

Unirlo todo

Esto muestra el flujo de lo específico a lo general: primero una cláusula on tipada y después un catch general para gestionar de forma segura todo lo demás.

try {
  run();
} on FormatException catch (e) {
  print(e);
} catch (e) {
  print('Unknown');
}

Comprobación rápida

¿Cómo se captura un único tipo de excepción específico?

Resumen

Ahora puede seleccionar errores con on, ordenar las cláusulas empezando por las específicas y añadir una red catch general. Gestión precisa y código limpio. ✅

Gratis para empezar

Aprende Dart con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
30
Lecciones
120

Preguntas frecuentes

¿La lección «Cláusulas on y tipos de excepción» es gratis?

Sí — el texto completo de «Cláusulas on y tipos de excepción» 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 «Cláusulas on y tipos de excepción»?

Capturar errores específicos con precisión. 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 2 de 4.

¿Cuánto tiempo toma la lección «Cláusulas on y tipos de excepción»?

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