Cláusulas on y tipos de excepción
Capturar errores específicos con precisión.
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. ✅
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
- throw, try y catch
- Cláusulas on y tipos de excepción
- finally y limpieza garantizada
- Excepciones personalizadas y rethrow